1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/lib
Vedant Kumar fa1b88c3f1 [Instruction] Set metadata uses to undef on deletion
Summary:
Replace any extant metadata uses of a dying instruction with undef to
preserve debug info accuracy. Some alternatives include:

- Treat Instruction like any other Value, and point its extant metadata
  uses to an empty ValueAsMetadata node. This makes extant dbg.value uses
  trivially dead (i.e. fair game for deletion in many passes), leading to
  stale dbg.values being in effect for too long.

- Call salvageDebugInfoOrMarkUndef. Not needed to make instruction removal
  correct. OTOH results in wasted work in some common cases (e.g. when all
  instructions in a BasicBlock are deleted).

This came up while discussing some basic cases in
https://reviews.llvm.org/D80052.

Reviewers: jmorse, TWeaver, aprantl, dexonsmith, jdoerfert

Subscribers: jholewinski, qcolombet, hiraditya, jfb, sstefan1, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80264
2020-05-21 15:58:12 -07:00
..
Analysis Revert "[CostModel] Unify Intrinsic Costs." 2020-05-21 12:50:24 +01:00
AsmParser AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
BinaryFormat [MsgPack] Added convenience assignment to MsgPackDocument 2020-05-21 22:13:19 +01:00
Bitcode [BitcodeReader] Simplify code. NFCI. 2020-05-21 16:03:09 +02:00
Bitstream
CodeGen [Target] Use Align in TargetLoweringObjectFile::getSectionForConstant. 2020-05-21 15:23:29 -07:00
DebugInfo Give microsoftDemangle() an outparam for how many input bytes were consumed. 2020-05-20 16:17:31 -04:00
Demangle Give microsoftDemangle() an outparam for how many input bytes were consumed. 2020-05-20 16:17:31 -04:00
DWARFLinker [Clang] Restore replace_path_prefix instead of startswith 2020-05-13 13:49:14 -04:00
ExecutionEngine [ORC] Share ownership of JITDylibs between ExecutionSession and 2020-05-10 16:37:17 -07:00
Extensions
Frontend
Fuzzer
FuzzMutate FuzzerCLI.h - reduce StringRef.h include to forward declaration. NFC. 2020-05-12 13:03:50 +01:00
IR [Instruction] Set metadata uses to undef on deletion 2020-05-21 15:58:12 -07:00
IRReader Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
LineEditor
Linker
LTO
MC [MC] Simplify MakeStartMinusEndExpr(). NFC. 2020-05-21 13:05:38 +07:00
MCA [MCA][InstrBuilder] Correctly mark reserved resources in initializeUsedResources. 2020-05-10 19:25:54 +01:00
Object [Object] Remove unused variable after D79560. NFC. 2020-05-11 13:03:53 +08:00
ObjectYAML [yaml2obj] - Implement the "Offset" property for the Fill Chunk. 2020-05-20 13:38:48 +03:00
Option
Passes Add CanonicalizeFreezeInLoops pass 2020-05-21 09:29:29 +09:00
ProfileData [gcov] Emit GCOV_TAG_OBJECT_SUMMARY/GCOV_TAG_PROGRAM_SUMMARY correctly and fix llvm-cov's decoding of runcount 2020-05-11 21:53:53 -07:00
Remarks
Support Revert "Revert "[YAMLTraits] Add trait for char"" 2020-05-21 10:33:09 -07:00
TableGen
Target [AARCH64][NEON] Allow to sink operands of aarch64_neon_pmull64. 2020-05-22 01:35:24 +03:00
Testing
TextAPI
ToolDrivers
Transforms [SLP][NFC] PR45269 getVectorElementSize() is slow 2020-05-21 17:26:50 +02:00
WindowsManifest
XRay [llvm-xray] consumeError when trying big-endian 2020-05-16 22:44:48 -07:00
CMakeLists.txt
LLVMBuild.txt