summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Thumb/select.ll
diff options
context:
space:
mode:
authorSam Parker <sam.parker@arm.com>2017-07-14 08:23:56 +0000
committerSam Parker <sam.parker@arm.com>2017-07-14 08:23:56 +0000
commit28934485768b2503b49963d0e4c141a8e28ebc83 (patch)
tree6088e29b288304838974ff88766f03f023d739f2 /llvm/test/CodeGen/Thumb/select.ll
parent202a9f6817cd3fc6de20c88813986a1b8bfd4cfa (diff)
downloadbcm5719-llvm-28934485768b2503b49963d0e4c141a8e28ebc83.tar.gz
bcm5719-llvm-28934485768b2503b49963d0e4c141a8e28ebc83.zip
[ARM] Allow rematerialization of ARM Thumb literal pool loads
Constants are crucial for code size in the ARM Thumb-1 instruction set. The 16 bit instruction size often does not offer enough space for immediate arguments. This means that additional instructions are frequently used to load constants into registers. Since constants are hoisted, this can lead to significant register spillage if they are used multiple times in a single function. This can be avoided by rematerialization, i.e. recomputing a constant instead of reloading it from the stack. This patch fixes the rematerialization of literal pool loads in the ARM Thumb instruction set. Patch by Philip Ginsbach Differential Revision: https://reviews.llvm.org/D33936 llvm-svn: 308004
Diffstat (limited to 'llvm/test/CodeGen/Thumb/select.ll')
-rw-r--r--llvm/test/CodeGen/Thumb/select.ll4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/Thumb/select.ll b/llvm/test/CodeGen/Thumb/select.ll
index fe69a39e350..75dbeab5ad0 100644
--- a/llvm/test/CodeGen/Thumb/select.ll
+++ b/llvm/test/CodeGen/Thumb/select.ll
@@ -74,9 +74,9 @@ define double @f7(double %a, double %b) {
}
; CHECK-LABEL: f7:
; CHECK: blt
-; CHECK: blt
+; CHECK: {{blt|bge}}
; CHECK: __ltdf2
; CHECK-EABI-LABEL: f7:
; CHECK-EABI: __aeabi_dcmplt
; CHECK-EABI: bne
-; CHECK-EABI: bne
+; CHECK-EABI: {{bne|beq}}
OpenPOWER on IntegriCloud