summaryrefslogtreecommitdiffstats
path: root/llvm/lib
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
commite8a7afef86220229a872b78b5e3dd212574d741a (patch)
tree9078e14b7806efbdf1835dd2361df881a830c92a /llvm/lib
parent9c4716e4b6d2bd036ed4bc7a92407d74d7637bef (diff)
downloadbcm5719-llvm-e8a7afef86220229a872b78b5e3dd212574d741a.tar.gz
bcm5719-llvm-e8a7afef86220229a872b78b5e3dd212574d741a.zip
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. llvm-svn: 207943
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp b/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
index f3922035b6a..cb5812f6d26 100644
--- a/llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
+++ b/llvm/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 =
OpenPOWER on IntegriCloud