1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/lib
Jakob Stoklund Olesen db62d3a5d0 Rewrite RAGreedy::splitAroundRegion, now with cool ASCII art.
This function has to deal with a lot of special cases, and the old
version got it wrong sometimes. In particular, it would sometimes leave
multiple uses in the stack interval in a single block. That causes bad
code with multiple reloads in the same basic block.

The new version handles block entry and exit in a single pass. It first
eliminates all the easy cases, and then goes on to create a local
interval for the blocks with difficult interference. Previously, we
would only create the local interval for completely isolated blocks.

It can happen that the stack interval becomes completely empty because
we could allocate a register in all edge bundles, and the new local
intervals deal with the interference. The empty stack interval is
harmless, but we need to remove a SplitKit assertion that checks for
empty intervals.

llvm-svn: 134047
2011-06-29 00:24:24 +00:00
..
Analysis Cleanup. Fix a stupid variable name. 2011-06-28 05:41:52 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
Bitcode Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
CodeGen Rewrite RAGreedy::splitAroundRegion, now with cool ASCII art. 2011-06-29 00:24:24 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine eliminate the Type::getDescription() method, using "<<" instead. This 2011-06-18 21:18:23 +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 Refactor MachO relocation generaration into the Target directories. 2011-06-24 23:44:37 +00:00
Object Object: Add proper error handling. 2011-06-25 17:55:23 +00:00
Support Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang! 2011-06-22 21:13:46 +00:00
Target Move CallFrameSetupOpcode and CallFrameDestroyOpcode to TargetInstrInfo. 2011-06-28 21:14:33 +00:00
Transforms cleanup: misleading comment. 2011-06-28 16:45:04 +00:00
VMCore PR10210: New method ConstantArray::getAsCString(). Use it in LTO to 2011-06-28 08:24:19 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00