summaryrefslogtreecommitdiff
path: root/lib/Target/ARM
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-05-04 23:13:21 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-05-04 23:13:21 +0000
commit8d538f112245bc6faa74908ccdb46f4f458b1dfd (patch)
tree11488a2b322ea6b789cfd92288a0b68744329584 /lib/Target/ARM
parent4fc5273a4932590b3824a82db6f77ff42a48ef81 (diff)
downloadllvm-8d538f112245bc6faa74908ccdb46f4f458b1dfd.tar.gz
llvm-8d538f112245bc6faa74908ccdb46f4f458b1dfd.tar.bz2
llvm-8d538f112245bc6faa74908ccdb46f4f458b1dfd.tar.xz
CodeGen: correct memset emittance for WoA
Windows on ARM does not conform to AEABI. However, memset would be emitted using the AEABI signature, resulting in inverted parameters. Handle this special case appropriately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207943 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM')
-rw-r--r--lib/Target/ARM/ARMSelectionDAGInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMSelectionDAGInfo.cpp b/lib/Target/ARM/ARMSelectionDAGInfo.cpp
index f3922035b6..cb5812f6d2 100644
--- a/lib/Target/ARM/ARMSelectionDAGInfo.cpp
+++ b/lib/Target/ARM/ARMSelectionDAGInfo.cpp
@@ -151,7 +151,8 @@ EmitTargetCodeForMemset(SelectionDAG &DAG, SDLoc dl,
unsigned Align, bool isVolatile,
MachinePointerInfo DstPtrInfo) const {
// Use default for non-AAPCS (or MachO) subtargets
- if (!Subtarget->isAAPCS_ABI() || Subtarget->isTargetMachO())
+ if (!Subtarget->isAAPCS_ABI() || Subtarget->isTargetMachO() ||
+ Subtarget->isTargetWindows())
return SDValue();
const ARMTargetLowering &TLI =