mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
2e96ed2e60
Summary: There already was code that tried to remove the dbg.declare, but that code was placed after we had called I->replaceAllUsesWith(UndefValue::get(I->getType())); on the alloca, so when we searched for the relevant dbg.declare, we couldn't find it. Now we do the search before we call RAUW so there is a chance to find it. An existing testcase needed update due to this. Two dbg.declare with undef were removed and then suddenly one of the two CHECKS failed. Before this patch we got call void @llvm.dbg.declare(metadata i24* undef, metadata !14, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 24)), !dbg !15 call void @llvm.dbg.declare(metadata %struct.prog_src_register* undef, metadata !14, metadata !DIExpression()), !dbg !15 call void @llvm.dbg.value(metadata i32 0, metadata !14, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)), !dbg !15 call void @llvm.dbg.value(metadata i32 0, metadata !14, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 24)), !dbg !15 and with it we get call void @llvm.dbg.value(metadata i32 0, metadata !14, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)), !dbg !15 call void @llvm.dbg.value(metadata i32 0, metadata !14, metadata !DIExpression(DW_OP_LLVM_fragment, 32, 24)), !dbg !15 However, the CHECKs in the testcase checked things in a silly order, so they only passed since they found things in the first dbg.declare. Now we changed the order of the checks and the test passes. Reviewers: rnk Reviewed By: rnk Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37900 llvm-svn: 313875 |
||
---|---|---|
.. | ||
AArch64 | ||
AMDGPU | ||
ARM | ||
COFF | ||
Generic | ||
Inputs | ||
Lanai | ||
Mips | ||
MIR | ||
MSP430 | ||
PDB | ||
PowerPC | ||
Sparc | ||
SystemZ | ||
WebAssembly | ||
X86 | ||
arm-relocs.test | ||
debuglineinfo-macho.test | ||
debuglineinfo.test | ||
debugmacinfo.test | ||
dwarfdump-64-bit-dwarf.test | ||
dwarfdump-accel.test | ||
dwarfdump-debug-frame-simple.test | ||
dwarfdump-decompression-corrupt.test | ||
dwarfdump-decompression-error.test | ||
dwarfdump-dump-flags.test | ||
dwarfdump-dump-gdbindex.test | ||
dwarfdump-dwp.test | ||
dwarfdump-header.test | ||
dwarfdump-implicit-const.test | ||
dwarfdump-invalid.test | ||
dwarfdump-line-dwo.test | ||
dwarfdump-macho-relocs.test | ||
dwarfdump-macho-universal.test | ||
dwarfdump-objc.test | ||
dwarfdump-pubnames.test | ||
dwarfdump-ranges.test | ||
dwarfdump-str-offsets-dwp.test | ||
dwarfdump-str-offsets-invalid.test | ||
dwarfdump-str-offsets.test | ||
dwarfdump-type-units.test | ||
dwarfdump-zlib.test | ||
dwo.ll | ||
invalid-relocations.test | ||
llvm-symbolizer-split-dwarf-empty.test | ||
llvm-symbolizer-zlib.test | ||
llvm-symbolizer.test | ||
macro_link.ll | ||
member-pointers.o | ||
missing-abstract-variable.o | ||
omit-empty.ll | ||
pr34186.ll | ||
skeletoncu.ll | ||
strip-DIGlobalVariable.ll | ||
strip-loop-metadata.ll | ||
typeunit-header.test | ||
unrolled-loop-remainder.ll |