diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-06-12 23:27:57 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-06-12 23:27:57 +0000 |
commit | 4eddf94a147737e0b3b6e565a7eb283fc11bbf85 (patch) | |
tree | 26708d7b924d9e0c7f789df5f817947e4803f6ae /test | |
parent | cccc317ee06643fd6cb8dff4bdb93a687c0e4fb3 (diff) | |
download | llvm-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.ll | 12 |
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 +} + |