[llvm] r302051 - ARM: add extra test for addrmode folding.
Tim Northover via llvm-commits
llvm-commits at lists.llvm.org
Wed May 3 09:54:30 PDT 2017
Author: tnorthover
Date: Wed May 3 11:54:30 2017
New Revision: 302051
URL: http://llvm.org/viewvc/llvm-project?rev=302051&view=rev
Log:
ARM: add extra test for addrmode folding.
I was worried we might replace a mul with a mul+shift even if there were later
uses. Turns out to be unfounded but I'd just as well add an actual test for it.
Modified:
llvm/trunk/test/CodeGen/ARM/load-arm.ll
Modified: llvm/trunk/test/CodeGen/ARM/load-arm.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/load-arm.ll?rev=302051&r1=302050&r2=302051&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/load-arm.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/load-arm.ll Wed May 3 11:54:30 2017
@@ -15,3 +15,14 @@ define i32 @addrmode_cse_mutation(i8* %b
%res = mul i32 %count, 34661
ret i32 %res
}
+
+; CHECK-LABEL: addrmode_cse_multi_use:
+; CHECK-NOT: {{ldrb|ldrb.w}} {{r[0-9]+}}, [{{r[0-9]+}}, {{r[0-9]+}}, lsl #3]
+define i32 @addrmode_cse_multi_use(i8* %base, i32 %count) {
+ %offset = mul i32 %count, 277288
+ %ptr = getelementptr i8, i8* %base, i32 %offset
+ %val = load volatile i8, i8* %ptr
+ %res = mul i32 %count, 34661
+ %res.1 = add i32 %res, %offset
+ ret i32 %res.1
+}
More information about the llvm-commits
mailing list