1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib
Jakob Stoklund Olesen acaf9e9ce1 Be more aggressive about following hints.
RAGreedy::tryAssign will now evict interference from the preferred
register even when another register is free.

To support this, add the EvictionCost struct that counts how many hints
are broken by an eviction. We don't want to break one hint just to
satisfy another.

Rename canEvict to shouldEvict, and add the first bit of eviction policy
that doesn't depend on spill weights: Always make room in the preferred
register as long as the evictees can be split and aren't already
assigned to their preferred register.

Also make the CSR avoidance more accurate. When looking for a cheaper
register it is OK to use a new volatile register. Only CSR aliases that
have never been used before should be avoided.

llvm-svn: 134735
2011-07-08 20:46:18 +00:00
..
Analysis Preserve debug loc. 2011-07-05 21:48:22 +00:00
Archive
AsmParser Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
Bitcode type can be null 2011-07-07 05:29:18 +00:00
CodeGen Be more aggressive about following hints. 2011-07-08 20:46:18 +00:00
CompilerDriver
ExecutionEngine Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to 2011-06-30 01:53:36 +00:00
Linker Set the unnamed_addr only when we're creating a new GV in the dest module. 2011-03-29 23:31:06 +00:00
MC TargetAsmParser doesn't need reference to Target. 2011-07-08 19:33:14 +00:00
Object Use memcmp. 2011-07-05 20:28:00 +00:00
Support Recognize mipseb as alias for mips for symmetry with mipsel. 2011-07-07 16:53:52 +00:00
Target Use tPseudoExpand for tTAILJMPrND and tTAILJMPr. 2011-07-08 20:39:19 +00:00
Transforms Remove unused copy of UpdateInlinedAtInfo. 2011-07-08 19:32:06 +00:00
VMCore Introduce "expect" intrinsic instructions. 2011-07-06 18:22:43 +00:00
CMakeLists.txt
Makefile