1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/include/llvm
Krzysztof Parzyszek b56b4c886f Create subranges for new intervals resulting from live interval splitting
The register allocator can split a live interval of a register into a set
of smaller intervals. After the allocation of registers is complete, the
rewriter will modify the IR to replace virtual registers with the corres-
ponding physical registers. At this stage, if a register corresponding
to a subregister of a virtual register is used, the rewriter will check
if that subregister is undefined, and if so, it will add the <undef> flag
to the machine operand. The function verifying liveness of the subregis-
ter would assume that it is undefined, unless any of the subranges of the
live interval proves otherwise.
The problem is that the live intervals created during splitting do not
have any subranges, even if the original parent interval did. This could
result in the <undef> flag placed on a register that is actually defined.

Differential Revision: http://reviews.llvm.org/D21189

llvm-svn: 279625
2016-08-24 13:37:55 +00:00
..
ADT Work around PR29097 to get the module bots going again. 2016-08-23 15:38:59 +00:00
Analysis [PM] Introduce basic update capabilities to the new PM's CGSCC pass 2016-08-24 09:37:14 +00:00
AsmParser
Bitcode Constify some path in the bitcode writer (NFC) 2016-08-19 06:06:18 +00:00
CodeGen Create subranges for new intervals resulting from live interval splitting 2016-08-24 13:37:55 +00:00
Config Use posix_fallocate instead of ftruncate. 2016-07-19 20:19:56 +00:00
DebugInfo Resubmit "Write the TPI stream from a PDB to Yaml." 2016-08-18 16:49:29 +00:00
ExecutionEngine [MCJIT] Improve documentation and error handling for MCJIT::runFunction. 2016-08-11 15:56:23 +00:00
IR [PM] Introduce basic update capabilities to the new PM's CGSCC pass 2016-08-24 09:37:14 +00:00
IRReader
LibDriver
LineEditor
Linker
LTO [ThinLTO] Add caching to the new LTO API 2016-08-23 21:30:12 +00:00
MC ADT: Remove ilist_*sentinel_traits, NFC 2016-08-22 20:51:00 +00:00
Object llvm-objdump: Add Hexagon printer changes for -S/-l options 2016-08-18 21:50:13 +00:00
ObjectYAML [macho2yaml] Don't write empty linkedit data 2016-08-17 21:46:04 +00:00
Option
Passes [PM] Significantly refactor the pass pipeline parsing to be easier to 2016-08-03 03:21:41 +00:00
ProfileData [Coverage] Mark more methods const (NFC) 2016-07-22 21:11:55 +00:00
Support [GraphTraits] Make nodes_iterator dereference to NodeType*/NodeRef 2016-08-19 21:20:13 +00:00
TableGen [TableGen] Autobrief-ize Record. NFC. 2016-07-14 14:53:14 +00:00
Target CodeGen: Remove MachineFunctionAnalysis => Enable (Machine)ModulePasses 2016-08-24 01:52:46 +00:00
Transforms [PM] Introduce basic update capabilities to the new PM's CGSCC pass 2016-08-24 09:37:14 +00:00
CMakeLists.txt
InitializePasses.h [PM] Port the always inliner to the new pass manager in a much more 2016-08-17 02:56:20 +00:00
LinkAllIR.h
LinkAllPasses.h [PM] Port the always inliner to the new pass manager in a much more 2016-08-17 02:56:20 +00:00
module.modulemap Update modulemap for Msf -> MSF rename. 2016-07-30 12:05:17 +00:00
module.modulemap.build
Pass.h
PassAnalysisSupport.h Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
PassInfo.h
PassRegistry.h
PassSupport.h