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/lib/CodeGen/StackProtector.cpp | |
parent | c1e13e2fe5971edeac6196e5d2163fadcc2dd5ef (diff) | |
download | llvm-34974ed50349d6ab40e921475b50147718dc2d79.zip llvm-34974ed50349d6ab40e921475b50147718dc2d79.tar.gz llvm-34974ed50349d6ab40e921475b50147718dc2d79.tar.bz2 |
[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/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions