diff options
author | Tim Northover <tnorthover@apple.com> | 2013-05-29 19:32:06 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2013-05-29 19:32:06 +0000 |
commit | aae0fa998af0f65221d7b98630162be6d88f05dc (patch) | |
tree | 32f70d885b5b98aac7a135eb1d8dd0b00d32f5e0 /test/CodeGen/AArch64 | |
parent | 88c744083d6cf5f4810c1e9fe457a212bb24d432 (diff) | |
download | llvm-aae0fa998af0f65221d7b98630162be6d88f05dc.tar.gz llvm-aae0fa998af0f65221d7b98630162be6d88f05dc.tar.bz2 llvm-aae0fa998af0f65221d7b98630162be6d88f05dc.tar.xz |
Teach ReMaterialization to be more cunning about subregisters
This allows rematerialization during register coalescing to handle
more cases involving operations like SUBREG_TO_REG which might need to
be rematerialized using sub-register indices.
For example, code like:
v1(GPR64):sub_32 = MOVZ something
v2(GPR64) = COPY v1(GPR64)
should be convertable to:
v2(GPR64):sub_32 = MOVZ something
but previously we just gave up in places like this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182872 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/AArch64')
-rw-r--r-- | test/CodeGen/AArch64/sibling-call.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGen/AArch64/sibling-call.ll b/test/CodeGen/AArch64/sibling-call.ll index a1ec618b03..6df4e7e3e5 100644 --- a/test/CodeGen/AArch64/sibling-call.ll +++ b/test/CodeGen/AArch64/sibling-call.ll @@ -91,7 +91,7 @@ define void @indirect_tail() { %fptr = load void(i32)** @func tail call void %fptr(i32 42) ret void -; CHECK: movz w0, #42 ; CHECK: ldr [[FPTR:x[1-9]+]], [{{x[0-9]+}}, #:lo12:func] +; CHECK: movz w0, #42 ; CHECK: br [[FPTR]] -}
\ No newline at end of file +} |