1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00
llvm-mirror/test/DebugInfo
Jeremy Morse 47a51741f3 [DebugInfo][InstrRef] Handle llvm.frameaddress intrinsics gracefully
When working out which instruction defines a value, the
instruction-referencing variable location code has a few special cases for
physical registers:
 * Arguments are never defined by instructions,
 * Constant physical registers always read the same value, are never def'd

This patch adds a third case for the llvm.frameaddress intrinsics: you can
read the framepointer in any block if you so choose, and use it as a
variable location, as shown in the added test.

This rather violates one of the assumptions behind instruction referencing,
that LLVM-ir shouldn't be able to read from an arbitrary register at some
arbitrary point in the program. The solution for now is to just emit a
DBG_PHI that reads the register value: this works, but if we wanted to do
something clever with DBG_PHIs in the future then this would probably get
in the way. As it stands, this patch avoids a crash.

Differential Revision: https://reviews.llvm.org/D106659
2021-07-27 13:44:37 +01:00
..
AArch64 [InstrRef][AArch64][1/4] Accept constant physreg variable locations 2021-07-26 15:26:15 +01:00
AMDGPU [MCAsmInfo] Support UsesCFIForDebug for targets with no exception handling 2021-05-06 04:53:45 +05:30
ARM [ARM] Fix RELA relocations for 32bit ARM. 2021-07-14 14:27:15 -07:00
BPF Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
COFF [CodeView] Saturate values bigger than supported by APInt. 2021-07-26 22:15:26 +02:00
Generic [llc] Default MCUseDwarfDirectory to true 2021-07-12 17:44:02 -07:00
Inputs Move dwarfdump-invalid.test into the tools/llvm-dwarfdump directory. 2021-06-23 12:00:34 -07:00
Lanai
Mips [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
MIR [DebugInfo][InstrRef] Fix a broken substitution method, add test coverage 2021-07-20 11:45:13 +01:00
MSP430 [Debug-Info][llvm-dwarfdump] Don't use DW_FORM_data4/8 2021-07-26 03:47:02 +00:00
NVPTX [llc] Default MCUseDwarfDirectory to true 2021-07-12 17:44:02 -07:00
PDB [test] Avoid llvm-readelf/llvm-readobj one-dash long options and deprecated aliases (e.g. --file-headers) 2021-07-15 10:26:21 -07:00
PowerPC [Debug-Info][llvm-dwarfdump] Don't use DW_FORM_data4/8 2021-07-26 03:47:02 +00:00
RISCV Revert "[NFC] remove explicit default value for strboolattr attribute in tests" 2021-05-24 19:43:40 +02:00
Sparc [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
Symbolize/ELF [llvm-symbolizer][llvm-nm] Fix AArch64 and ARM mapping symbols handling. 2021-03-23 14:17:12 +01:00
SystemZ
WebAssembly [WebAssembly] Add TargetInstrInfo::getCalleeOperand 2021-05-26 11:43:59 -07:00
X86 [DebugInfo][InstrRef] Handle llvm.frameaddress intrinsics gracefully 2021-07-27 13:44:37 +01:00
XCOFF [AIX][XCOFF] Use bit order of has_vec and longtbtable bits as defined in AIX header debug.h 2021-07-09 11:06:46 -04:00
arange-overlap.test
arm-relocs.test
cDefaultLower.ll
check-debugify-preserves-analyses.ll
cross-cu-inlining.test
cross-cu-scope.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
debug-frame-cie-pointer-reloc.test
debugify-bogus-dbg-value.ll
debugify-each.ll [Debugify] Skip debugifying on special/immutable passes 2020-11-16 20:39:46 -08:00
debugify-export.ll [Debugify] Skip debugifying on special/immutable passes 2020-11-16 20:39:46 -08:00
debugify-ignore-phi.ll [Transforms][Debugify] Fix "Missing line" false alarm on PHI nodes 2021-05-14 14:06:13 +02:00
debugify-original-no-dbg-info.ll Reland "[Debugify] Make the debugify aware of the original (-g) Debug Info" 2021-02-18 23:29:22 -08:00
debugify-report-missing-locs-only.ll
debugify.ll Reland "[MachineDebugify] Insert synthetic DBG_VALUE instructions" 2020-12-14 22:34:23 -05:00
debuglineinfo-macho.test
debuglineinfo-path.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
debuglineinfo.test
debugmacinfo-dwo.test
debugmacinfo.test
duplicate_dbgvalue.ll
dwarfdump-16bit-addr.test
dwarfdump-accel.test
dwarfdump-bad-lookup-address.test
dwarfdump-dataLocationExp.ll
dwarfdump-dataLocationVar.ll
dwarfdump-debug-frame-simple.test Add regular expressions to and DWARF Call Frame Information tests in case the architecture specific target is not compiled into LLVM. 2020-10-07 14:27:19 -07:00
dwarfdump-decompression-corrupt.test
dwarfdump-decompression-error.test
dwarfdump-dump-flags.test
dwarfdump-dump-gdbindex.test
dwarfdump-dwp.test
dwarfdump-implicit-const.test
dwarfdump-macho-relocs.test
dwarfdump-macho-universal.test
dwarfdump-objc.test
dwarfdump-pubnames.test
dwarfdump-pushobjectaddress.ll
dwarfdump-ranges.test
dwarfdump-type-units.test
dwarfdump-zlib.test
dwo.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
fortran-string-type.ll [DebugInfo] Add handling of stringLengthExp operand of DIStringType. 2020-12-08 14:49:59 -05:00
fortranDefaultLower.ll
fortranSubrangeCountExpr.ll [DebugInfo] Upgrade DISubragne::count to accept DIExpression also 2021-03-30 09:16:55 +05:30
fortranSubrangeExpr.ll
fortranSubrangeInt.ll
fortranSubrangeVar.ll
gcc-local-mem-func.test
high-pc-constant.test
implicit-const-test2.s llvm-dwarfdump: Fix DWARF-5 DW_FORM_implicit_const (used by GCC) 2021-03-09 09:26:58 +01:00
invalid-inlined-subroutine.s Fix a crash in DWARFUnit::getInlinedChainForAddress in case of unexpected DWARF information. 2021-03-09 14:20:27 +04:00
invalid-relocations.test
limit-arglist-size.ll Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-06-24 09:46:38 +01:00
llvm-symbolizer-bbsections-test.s Recommit D91678 after fixing the test breakage. 2021-01-09 17:44:12 -08:00
macro_link.ll
member-pointers.o
missing-abstract-variable.o
omit-empty.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
pr34186.ll
pr34672.ll
pr37964.ll [Debugify] Port -debugify-each to NewPM 2020-11-02 08:16:43 -08:00
precomp.test
salvage-cast-debug-info.ll [EarlyCSE] Verify hash code in regression tests 2020-09-04 10:40:35 -04:00
salvage-duplicate-values.ll Reapply "[DebugInfo] Enable variadic debug value salvaging" 2021-07-15 12:54:51 +01:00
salvage-gep.ll Reapply "[DebugInfo] Enable variadic debug value salvaging" 2021-07-15 12:54:51 +01:00
salvage-nonconst-binop.ll Reapply "[DebugInfo] Enable variadic debug value salvaging" 2021-07-15 12:54:51 +01:00
simplify-cfg-preserve-dbg-values.ll
skeletoncu.ll Restore lit feature object-emission. Omit DebugInfo/Generic on XCore. 2021-04-16 13:02:14 +01:00
strip-DIGlobalVariable.ll
strip-loop-metadata.ll
strip-module-flags.ll
symbolize-64bit-address.test
symbolize-absolute-path-in-debug-line.s
symbolize-build-id-error.test [yaml2obj] - ProgramHeaders: introduce FirstSec/LastSec instead of Sections list. 2020-11-09 13:00:50 +03:00
symbolize-build-id.test [yaml2obj] - ProgramHeaders: introduce FirstSec/LastSec instead of Sections list. 2020-11-09 13:00:50 +03:00
symbolize-demangling.s
symbolize-directory.s
symbolize-gnu-debuglink-fallback.test
symbolize-gnu-debuglink-no-realpath.test
symbolize-gnu-debuglink.test
symbolize-inlined.test
symbolize-macho-universal-unknown-arch.test Revert several changes related to llvm-symbolizer exiting non-zero on failure. 2020-10-21 15:21:44 -07:00
symbolize-macho-universal.test
symbolize-missing-file.test [test] Use host platform specific error message substitution in lit tests 2021-01-29 07:16:30 -05:00
symbolize-no-debug-str.test
symbolize-paths.s
symbolize-shared-abbrev.s
symbolize-split-dwarf-empty.test
symbolize-split-dwarf-no-skel-address.test
symbolize-stripped-sections.test
symbolize-stripped.test
symbolize-tu.test
symbolize-zlib.test
symbolize.test
typeunit-header.test
unrolled-loop-remainder.ll