1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib
Chris Lattner 61c2a0fc8a This adds in some code (currently disabled unless you pass
-enable-smarter-addr-folding to llc) that gives CGP a better
cost model for when to sink computations into addressing modes.
The basic observation is that sinking increases register 
pressure when part of the addr computation has to be available
for other reasons, such as having a use that is a non-memory
operation.  In cases where it works, it can substantially reduce
register pressure.

This code is currently an overall win on 403.gcc and 255.vortex
(the two things I've been looking at), but there are several 
things I want to do before enabling it by default:

1. This isn't doing any caching of results, so it is much slower 
   than it could be.  It currently slows down release-asserts llc 
   by 1.7% on 176.gcc: 27.12s -> 27.60s.
2. This doesn't think about inline asm memory operands yet.
3. The cost model botches the case when the needed value is live
   across the computation for other reasons.

I'll continue poking at this, and eventually turn it on as llcbeta.

llvm-svn: 60074
2008-11-26 02:00:14 +00:00
..
Analysis Seriously strengthen the guarantee offered by noalias on a function's return 2008-11-24 05:00:44 +00:00
Archive Silence unused variable warnings. 2008-11-21 20:00:59 +00:00
AsmParser Extend the 'noalias' attribute to function return values. This is intended to 2008-11-24 03:41:24 +00:00
Bitcode Added support for the following definition of shufflevector 2008-11-10 04:46:22 +00:00
CodeGen A simplification for checking whether the signs of the operands and sum differ. Thanks, Duncan. 2008-11-25 19:40:17 +00:00
Debugger
ExecutionEngine Make JIT::runFunction handle functions with non-C calling conventions. 2008-11-23 08:00:11 +00:00
Linker Make comments and code for QuietWarnings and QuietErrors 2008-10-25 17:57:20 +00:00
Support Revert r60042. IndVarSimplify should check if APFloat is PPCDoubleDouble first before trying to convert it to an integer. 2008-11-26 01:11:57 +00:00
System ARM / Mac OS X also wants to invalidate icache after jitting. 2008-11-14 02:33:17 +00:00
Target CellSPU: 2008-11-25 17:29:43 +00:00
Transforms This adds in some code (currently disabled unless you pass 2008-11-26 02:00:14 +00:00
VMCore Silence unused variable warnings. 2008-11-21 20:00:59 +00:00
Makefile