summaryrefslogtreecommitdiff
path: root/lib/Target/AArch64
diff options
context:
space:
mode:
authorJiangning Liu <jiangning.liu@arm.com>2014-04-18 05:58:09 +0000
committerJiangning Liu <jiangning.liu@arm.com>2014-04-18 05:58:09 +0000
commitbc3655f9c831ae9b7b111cd193e732fc9f341a71 (patch)
tree8636aa1fbb192361b3ee3510ccbfa8a1ad068b4f /lib/Target/AArch64
parent746734df1accfeb5f336de211655c304d58cb7b3 (diff)
downloadllvm-bc3655f9c831ae9b7b111cd193e732fc9f341a71.tar.gz
llvm-bc3655f9c831ae9b7b111cd193e732fc9f341a71.tar.bz2
llvm-bc3655f9c831ae9b7b111cd193e732fc9f341a71.tar.xz
This is one of the optimizations ported from ARM64 to AArch64 to address the performance gap between these two back ends. The test case newly added for AArch64 already exists in ARM64.
Patched by Z.Zheng git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206559 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64')
-rw-r--r--lib/Target/AArch64/AArch64ISelLowering.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/AArch64/AArch64ISelLowering.cpp b/lib/Target/AArch64/AArch64ISelLowering.cpp
index 1e79894472..0310f1bc11 100644
--- a/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -540,6 +540,8 @@ AArch64TargetLowering::AArch64TargetLowering(AArch64TargetMachine &TM)
setTargetDAGCombine(ISD::SIGN_EXTEND);
setTargetDAGCombine(ISD::VSELECT);
+
+ MaskAndBranchFoldingIsLegal = true;
}
EVT AArch64TargetLowering::getSetCCResultType(LLVMContext &, EVT VT) const {