llvm/test/DebugInfo/X86
Chih-Hung Hsieh dc73dc09f1 Implement target independent TLS compatible with glibc's emutls.c.
The 'common' section TLS is not implemented.
Current C/C++ TLS variables are not placed in common section.
DWARF debug info to get the address of TLS variables is not generated yet.

clang and driver changes in http://reviews.llvm.org/D10524

  Added -femulated-tls flag to select the emulated TLS model,
  which will be used for old targets like Android that do not
  support ELF TLS models.

Added TargetLowering::LowerToTLSEmulatedModel as a target-independent
function to convert a SDNode of TLS variable address to a function call
to __emutls_get_address.

Added into lib/Target/*/*ISelLowering.cpp to call LowerToTLSEmulatedModel
for TLSModel::Emulated. Although all targets supporting ELF TLS models are
enhanced, emulated TLS model has been tested only for Android ELF targets.
Modified AsmPrinter.cpp to print the emutls_v.* and emutls_t.* variables for
emulated TLS variables.
Modified DwarfCompileUnit.cpp to skip some DIE for emulated TLS variabls.

TODO: Add proper DIE for emulated TLS variables.
      Added new unit tests with emulated TLS.

Differential Revision: http://reviews.llvm.org/D10522


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243438 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-28 16:24:05 +00:00
..
2010-04-13-PubType.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
2011-09-26-GlobalVarContext.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
2011-12-16-BadStructRef.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
aligned_stack_var.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
arange-and-stub.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
arange.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
arguments.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
array2.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
array.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
asm-macro-line-number.s IAS: Use the root macro instanciation for location 2015-06-25 21:57:33 +00:00
bitfields.ll Don't use %llc_dwarf for target-specific tests. 2015-06-27 21:11:43 +00:00
block-capture.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
byvalstruct.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
c-type-units.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
coff_debug_info_type.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
coff_relative_names.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
concrete_out_of_line.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
constant-aggregate.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
cu-ranges-odr.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
cu-ranges.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
data_member_location.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg_value_direct.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-asm.s MC: correct DWARF line info for PE/COFF 2014-09-06 19:57:48 +00:00
dbg-at-specficiation.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-byval-parameter.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
dbg-const-int.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-const.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-declare-arg.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-declare.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-file-name.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-i128-const.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-merge-loc-entry.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
dbg-prolog-end.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-subrange.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-value-const-byref.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-value-dag-combine.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
dbg-value-inlined-parameter.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dbg-value-isel.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
dbg-value-location.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
dbg-value-range.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
dbg-value-terminator.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug_frame.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-dead-local-var.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-info-access.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-info-block-captured-self.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-info-blocks.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-info-packed-struct.ll Add original source code to test case as suggested in review. 2015-06-27 00:01:33 +00:00
debug-info-static-member.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-loc-asan.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-loc-empty-entries.ll AsmPrinter: Don't emit empty .debug_loc entries 2015-06-21 16:54:56 +00:00
debug-loc-offset.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debug-ranges-offset.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
debugger-tune.ll Add a "debugger tuning" concept that allows us to fine-tune how we 2015-07-15 22:04:54 +00:00
decl-derived-member.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
deleted-bit-piece.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DIModule.ll Debug info: Add dwarf backend support for DIModule. 2015-06-30 02:13:04 +00:00
discriminator.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DW_AT_byte_size.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DW_AT_linkage_name.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DW_AT_location-reference.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DW_AT_object_pointer.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DW_AT_specification.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DW_AT_stmt_list_sec_offset.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DW_TAG_friend.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dwarf-aranges-no-dwarf-labels.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dwarf-aranges.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
dwarf-public-names.ll Make this test verify .debug_pubnames is actually missing. 2015-06-25 19:37:13 +00:00
dwarf-pubnames-split.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
earlydup-crash.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
elf-names.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
empty-and-one-elem-array.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
empty-array.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
empty.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
ending-run.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
enum-class.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
enum-fwd-decl.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
externaltyperef.ll Debug Info: Add basic support for external types references. 2015-07-15 17:01:41 +00:00
fission-cu.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
fission-hash.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
fission-inline.ll DebugInfo: Use low_pc relative debug_ranges under fission when the CU has a low_pc 2015-05-02 02:31:49 +00:00
fission-ranges.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
float_const.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
formal_parameter.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
frame-register.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
generate-odr-hash.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
ghost-sdnode-dbgvalues.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
gmlt.test llvm/test/DebugInfo/X86/gmlt.test: Get rid of %llc_dwarf. It should not be used with -mtriple. 2014-10-01 00:29:16 +00:00
gnu-public-names-empty.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
gnu-public-names.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
header.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
inline-member-function.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
inline-seldag-test.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
inlined-formal-parameter.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
inlined-indirect-value.ll Erase constant dbgloc on reuse in PHI node 2015-06-04 20:48:40 +00:00
InlinedFnLocalVar.ll DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
instcombine-instrinsics.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
lexical_block.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
line-info.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
line.test Refactor test to be reused across architectures 2015-01-29 20:21:24 +00:00
linkage-name.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
low-pc-cu.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
main-file-name.s Now that llvm-dwarfdump supports flags to specify which DWARF section to dump, 2013-01-25 21:44:53 +00:00
memberfnptr.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
mi-print.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
misched-dbg-value.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
missing-file-line.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
multiple-aranges.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
multiple-at-const-val.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
nodebug_with_debug_loc.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
nondefault-subrange-array.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
nophysreg.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
objc-fwd-decl.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
objc-property-void.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
op_deref.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
parameters.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pieces-1.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pieces-2.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pieces-3.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pointer-type-size.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pr11300.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pr12831.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pr13303.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
pr19307.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
processes-relocations.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
prologue-stack.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
recursive_inlining.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
ref_addr_relocation.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
reference-argument.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
rvalue-ref.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
sret.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
sroasplit-1.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
sroasplit-2.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
sroasplit-3.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
sroasplit-4.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
sroasplit-5.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
stmt-list-multiple-compile-units.ll DebugInfo: Clarify test/DebugInfo/X86/stmt-list-multiple-compile-units.ll 2015-05-24 16:10:35 +00:00
stmt-list.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
stringpool.ll AsmPrinter: Emit the DwarfStringPool offset directly when possible 2015-05-24 16:14:59 +00:00
struct-loc.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
subrange-type.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
subreg.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
subregisters.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
template.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
tls.ll Implement target independent TLS compatible with glibc's emutls.c. 2015-07-28 16:24:05 +00:00
type_units_with_addresses.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
union-const.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
union-template.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
vector.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
vla.ll IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00