summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-06-12 23:27:57 +0000
committerJuergen Ributzka <juergen@apple.com>2014-06-12 23:27:57 +0000
commit4eddf94a147737e0b3b6e565a7eb283fc11bbf85 (patch)
tree26708d7b924d9e0c7f789df5f817947e4803f6ae /test
parentcccc317ee06643fd6cb8dff4bdb93a687c0e4fb3 (diff)
downloadllvm-4eddf94a147737e0b3b6e565a7eb283fc11bbf85.tar.gz
llvm-4eddf94a147737e0b3b6e565a7eb283fc11bbf85.tar.bz2
llvm-4eddf94a147737e0b3b6e565a7eb283fc11bbf85.tar.xz
[FastISel][X86] Add MachineMemOperand to load/store instructions.
This commit adds MachineMemOperands to load and store instructions. This allows the peephole optimizer to fold load instructions. Unfortunatelly the peephole optimizer currently doesn't run at -O0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210858 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/X86/fast-isel-fold-mem.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/X86/fast-isel-fold-mem.ll b/test/CodeGen/X86/fast-isel-fold-mem.ll
new file mode 100644
index 0000000000..a94577962e
--- /dev/null
+++ b/test/CodeGen/X86/fast-isel-fold-mem.ll
@@ -0,0 +1,12 @@
+; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
+; RUN: llc < %s -fast-isel -fast-isel-abort -mtriple=x86_64-apple-darwin | FileCheck %s
+
+define i64 @fold_load(i64* %a, i64 %b) {
+; CHECK-LABEL: fold_load
+; CHECK: addq (%rdi), %rsi
+; CHECK-NEXT: movq %rsi, %rax
+ %1 = load i64* %a, align 8
+ %2 = add i64 %1, %b
+ ret i64 %2
+}
+