hanchenye-llvm-project/llvm/lib
Duncan P. N. Exon Smith e8eb94a9a5 ADCE: Remove debug info intrinsics in dead scopes
During ADCE, track which debug info scopes still have live references
from the code, and delete debug info intrinsics for the dead ones.

These intrinsics describe the locations of variables (in registers or
stack slots).  If there's no code left corresponding to a variable's
scope, then there's no way to reference the variable in the debugger and
it doesn't matter what its value is.

I add a DEBUG printout when the described location in an SSA register,
in case it helps some trying to track down why locations get lost.
However, we still delete these; the scope itself isn't attached to any
real code, so the ship has already sailed.

llvm-svn: 264800
2016-03-29 22:57:12 +00:00
..
Analysis [SCEV] Extract out a MatchBinaryOp; NFCI 2016-03-29 16:40:44 +00:00
AsmParser Swift Calling Convention: add swiftself attribute. 2016-03-29 17:37:21 +00:00
Bitcode [ThinLTO] Remove post-pass metadata linking support 2016-03-29 18:24:19 +00:00
CodeGen MachineSink: make shouldSink a TII target hook 2016-03-29 22:44:57 +00:00
DebugInfo Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
ExecutionEngine More more change need as part of r264187 where ErrorOr<> was added 2016-03-23 21:20:16 +00:00
Fuzzer [libFuzzer] use fflush after every Printf 2016-03-25 20:31:26 +00:00
IR IR: Add DbgInfoIntrinsic::getVariableLocation 2016-03-29 18:56:03 +00:00
IRReader Remove autoconf support 2016-01-26 21:29:08 +00:00
LTO ThinLTO: use the callgraph from the combined index to drive the FunctionImporter 2016-03-26 05:40:34 +00:00
LibDriver Remove autoconf support 2016-01-26 21:29:08 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker [ThinLTO] Remove post-pass metadata linking support 2016-03-29 18:24:19 +00:00
MC Handle section vs global name conflict. 2016-03-28 20:36:28 +00:00
Object Remove else after return 2016-03-28 17:45:48 +00:00
ObjectYAML [lanai] Add Lanai backend. 2016-03-28 13:09:54 +00:00
Option Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
Passes [PM] Rename the CRTP mixin base classes for the new pass manager to 2016-03-11 10:33:22 +00:00
ProfileData Sample profile summary cleanup 2016-03-28 23:14:29 +00:00
Support C++11 is required, remove some preprocessor checks for it 2016-03-28 11:13:03 +00:00
TableGen [TableGen] Fix typos in comments. NFC 2016-02-26 06:50:27 +00:00
Target [SPARC] Use AtomicExpandPass to expand AtomicRMW instructions. 2016-03-29 19:09:54 +00:00
Transforms ADCE: Remove debug info intrinsics in dead scopes 2016-03-29 22:57:12 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00