summaryrefslogtreecommitdiff
path: root/test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-04-09 17:27:09 +0000
committerHal Finkel <hfinkel@anl.gov>2013-04-09 17:27:09 +0000
commitf6f8198d85f278ff03aaf32c9db6ae0b3826395c (patch)
treeb5b4e76c738f25c5402e812080d5af875f3edc55 /test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
parent307b8535ee4cb37ade40fdc7dd36baa7f27fa34c (diff)
downloadllvm-f6f8198d85f278ff03aaf32c9db6ae0b3826395c.tar.gz
llvm-f6f8198d85f278ff03aaf32c9db6ae0b3826395c.tar.bz2
llvm-f6f8198d85f278ff03aaf32c9db6ae0b3826395c.tar.xz
Use virtual base registers on PPC
On PowerPC, non-vector loads and stores have r+i forms; however, in functions with large stack frames these were not being used to access slots far from the stack pointer because such slots were out of range for the signed 16-bit immediate offset field. This increases register pressure because we need a separate register for each offset (when the r+r form is used). By enabling virtual base registers, we can deal with large stack frames without unduly increasing register pressure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179105 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll')
-rw-r--r--test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll b/test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
index 40f46fda46..ba5c8c172f 100644
--- a/test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
+++ b/test/CodeGen/PowerPC/2007-09-07-LoadStoreIdxForms.ll
@@ -1,5 +1,9 @@
; RUN: llc < %s -march=ppc64 | FileCheck %s
+; Temporarily XFAIL this test until LSA stops creating single-use
+; virtual base registers.
+; XFAIL: *
+
%struct.__db_region = type { %struct.__mutex_t, [4 x i8], %struct.anon, i32, [1 x i32] }
%struct.__mutex_t = type { i32 }
%struct.anon = type { i64, i64 }