summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-04-07 05:46:58 +0000
committerHal Finkel <hfinkel@anl.gov>2013-04-07 05:46:58 +0000
commit6efd45e902d3c9c3b61ac40d22b3c2712ab9eaa0 (patch)
treec5e1cde77f6870b6b3cdaa99464c15de5fb36bff /llvm/lib
parent933e8f037dc32743bc290633b5ea9e731c0b5a97 (diff)
downloadbcm5719-llvm-6efd45e902d3c9c3b61ac40d22b3c2712ab9eaa0.tar.gz
bcm5719-llvm-6efd45e902d3c9c3b61ac40d22b3c2712ab9eaa0.zip
PPC pre-increment load instructions do not have side effects
llvm-svn: 178972
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstr64Bit.td4
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrInfo.td2
2 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstr64Bit.td b/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
index 6536ea4651b..16b983f8a50 100644
--- a/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -594,7 +594,7 @@ def LWZX8 : XForm_1<31, 23, (outs G8RC:$rD), (ins memrr:$src),
// Update forms.
-let mayLoad = 1 in {
+let mayLoad = 1, neverHasSideEffects = 1 in {
def LBZU8 : DForm_1<35, (outs G8RC:$rD, ptr_rc_nor0:$ea_result), (ins memri:$addr),
"lbzu $rD, $addr", LdStLoadUpd,
[]>, RegConstraint<"$addr.reg = $ea_result">,
@@ -666,7 +666,7 @@ def LDBRX : XForm_1<31, 532, (outs G8RC:$rD), (ins memrr:$src),
"ldbrx $rD, $src", LdStLoad,
[(set i64:$rD, (PPClbrx xoaddr:$src, i64))]>, isPPC64;
-let mayLoad = 1 in
+let mayLoad = 1, neverHasSideEffects = 1 in
def LDU : DSForm_1<58, 1, (outs G8RC:$rD, ptr_rc_nor0:$ea_result), (ins memrix:$addr),
"ldu $rD, $addr", LdStLDU,
[]>, RegConstraint<"$addr.reg = $ea_result">, isPPC64,
diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.td b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
index 86d020be4da..14f35ef0649 100644
--- a/llvm/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
@@ -757,7 +757,7 @@ def LFD : DForm_1<50, (outs F8RC:$rD), (ins memri:$src),
// Unindexed (r+i) Loads with Update (preinc).
-let mayLoad = 1 in {
+let mayLoad = 1, neverHasSideEffects = 1 in {
def LBZU : DForm_1<35, (outs GPRC:$rD, ptr_rc_nor0:$ea_result), (ins memri:$addr),
"lbzu $rD, $addr", LdStLoadUpd,
[]>, RegConstraint<"$addr.reg = $ea_result">,
OpenPOWER on IntegriCloud