diff options
author | Hal Finkel <hfinkel@anl.gov> | 2014-04-12 21:52:38 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2014-04-12 21:52:38 +0000 |
commit | 34974ed50349d6ab40e921475b50147718dc2d79 (patch) | |
tree | e46f201b74d90184a5902a4b7b5a05779e5a9351 /llvm/test/CodeGen/PowerPC/mcm-obj-2.ll | |
parent | c1e13e2fe5971edeac6196e5d2163fadcc2dd5ef (diff) | |
download | bcm5719-llvm-34974ed50349d6ab40e921475b50147718dc2d79.tar.gz bcm5719-llvm-34974ed50349d6ab40e921475b50147718dc2d79.zip |
[PowerPC] Implement some additional TLI callbacks
Add implementations of:
bool isLegalICmpImmediate(int64_t Imm) const
bool isLegalAddImmediate(int64_t Imm) const
bool isTruncateFree(Type *Ty1, Type *Ty2) const
bool isTruncateFree(EVT VT1, EVT VT2) const
bool shouldConvertConstantLoadToIntImm(const APInt &Imm, Type *Ty) const
Unfortunately, this regresses counter-register-based loop formation because
some of the loops now end up in forms were SE cannot compute loop counts.
However, nevertheless, the test-suite results favor committing:
SingleSource/Benchmarks/BenchmarkGame/puzzle: 26% speedup
MultiSource/Benchmarks/FreeBench/analyzer/analyzer: 21% speedup
MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan: 20% speedup
SingleSource/Benchmarks/Polybench/linear-algebra/kernels/trisolv/trisolv: 19% speedup
SingleSource/Benchmarks/Polybench/linear-algebra/kernels/gesummv/gesummv: 15% speedup
MultiSource/Benchmarks/FreeBench/pcompress2/pcompress2: 2% speedup
MultiSource/Benchmarks/VersaBench/bmm/bmm: 26% slowdown
llvm-svn: 206120
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/mcm-obj-2.ll')
-rw-r--r-- | llvm/test/CodeGen/PowerPC/mcm-obj-2.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/PowerPC/mcm-obj-2.ll b/llvm/test/CodeGen/PowerPC/mcm-obj-2.ll index a6e98554516..c42cf0c36ea 100644 --- a/llvm/test/CodeGen/PowerPC/mcm-obj-2.ll +++ b/llvm/test/CodeGen/PowerPC/mcm-obj-2.ll @@ -22,7 +22,7 @@ entry: ; CHECK: Relocations [ ; CHECK: Section (2) .rela.text { ; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_HA [[SYM2:[^ ]+]] -; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO [[SYM2]] +; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO_DS [[SYM2]] ; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO [[SYM2]] @gi = global i32 5, align 4 @@ -39,7 +39,7 @@ entry: ; accessing file-scope variable gi. ; ; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_HA [[SYM3:[^ ]+]] -; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO [[SYM3]] +; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO_DS [[SYM3]] ; CHECK: 0x{{[0-9,A-F]+}} R_PPC64_TOC16_LO [[SYM3]] define double @test_double_const() nounwind { |