llvm-project/llvm/lib
Hans Wennborg 24775a0a6c Revert r312154 "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding""
It caused PR34387: Assertion failed: (RegNo < NumRegs && "Attempting to access record for invalid register number!")

> Issues identified by buildbots addressed since original review:
> - Fixed ARMLoadStoreOptimizer bug exposed by this change in r311907.
> - The pass no longer forwards COPYs to physical register uses, since
>   doing so can break code that implicitly relies on the physical
>   register number of the use.
> - The pass no longer forwards COPYs to undef uses, since doing so
>   can break the machine verifier by creating LiveRanges that don't
>   end on a use (since the undef operand is not considered a use).
>
>   [MachineCopyPropagation] Extend pass to do COPY source forwarding
>
>   This change extends MachineCopyPropagation to do COPY source forwarding.
>
>   This change also extends the MachineCopyPropagation pass to be able to
>   be run during register allocation, after physical registers have been
>   assigned, but before the virtual registers have been re-written, which
>   allows it to remove virtual register COPY LiveIntervals that become dead
>   through the forwarding of all of their uses.

llvm-svn: 312178
2017-08-30 22:11:37 +00:00
..
Analysis Remove an unnecessary const_cast. 2017-08-28 23:00:13 +00:00
AsmParser Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
CodeGen Revert r312154 "Re-enable "[MachineCopyPropagation] Extend pass to do COPY source forwarding"" 2017-08-30 22:11:37 +00:00
DebugInfo [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine [Orc] Fix member variable ordering issue in OrcMCJITReplacement. 2017-08-30 00:47:42 +00:00
FuzzMutate Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00
Fuzzer Moving libFuzzer from LLVM to compiler-rt. 2017-08-21 23:25:12 +00:00
IR [IR] Don't print "!DIExpression() = !DIExpression()" when dumping 2017-08-30 20:40:36 +00:00
IRReader
LTO Fix thinlto cache key computation for cfi-icall. 2017-08-09 23:24:07 +00:00
LineEditor
Linker Linker: Create a function declaration when moving a non-prevailing alias of function type. 2017-08-10 01:07:44 +00:00
MC Untabify. 2017-08-28 06:47:47 +00:00
Object Simplify writeArchive return type. 2017-08-30 22:11:03 +00:00
ObjectYAML Move helper classes into anonymous namespaces. 2017-08-20 13:03:48 +00:00
Option Revert "Revert r311552: [Bash-autocompletion] Add support for static analyzer flags" 2017-08-29 00:09:31 +00:00
Passes [PM] Switch the CGSCC debug messages to use the standard LLVM debug 2017-08-11 05:47:13 +00:00
ProfileData Fix the bug when SampleProfileWriter writes out number of callsites. 2017-08-03 00:09:18 +00:00
Support Untabify. 2017-08-28 06:47:47 +00:00
TableGen Untabify. 2017-08-28 06:47:47 +00:00
Target [ARM] Use Swift error registers on non-Darwin targets 2017-08-30 20:03:54 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers Simplify writeArchive return type. 2017-08-30 22:11:03 +00:00
Transforms Refactor DIBuilder::createFragmentExpression into a static DIExpression member 2017-08-30 20:04:17 +00:00
WindowsManifest Integrate manifest merging library into LLD. 2017-08-22 03:15:28 +00:00
XRay [XRay][tools] Support new kinds of instrumentation map entries 2017-08-21 00:14:06 +00:00
CMakeLists.txt Moving libFuzzer from LLVM to compiler-rt. 2017-08-21 23:25:12 +00:00
LLVMBuild.txt Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00