| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 195380
|
| |
|
|
| |
llvm-svn: 195299
|
| |
|
|
|
|
| |
DebugInfoOffset data member up with the rest of the data members.
llvm-svn: 195298
|
| |
|
|
| |
llvm-svn: 195297
|
| |
|
|
|
|
| |
Language may only be a temporary addition.
llvm-svn: 195296
|
| |
|
|
| |
llvm-svn: 195293
|
| |
|
|
|
|
| |
through findAttribute etc.
llvm-svn: 195290
|
| |
|
|
|
|
|
|
|
|
|
|
| |
While not strictly necessary (the class has an invariant that
"setDebugInfoOffset" is called before "getDebugInfoOffset" - anyone
client that actually gets the default zero offset is buggy/broken) this
is consistent with the code as originally written and the removal of the
initialization was an accident in r195166.
Suggested by Manman Ren.
llvm-svn: 195263
|
| |
|
|
|
|
|
|
| |
units disabling cross-CU sharing.
Changes suggested by Manman Ren.
llvm-svn: 195262
|
| |
|
|
|
|
|
| |
and not polymorphically deleted and they are the only thing that derive
from DIE.
llvm-svn: 195183
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit DW_TAG_type_units into the debug_info section using compile unit
headers. This is bogus/unusable by debuggers, but testable and provides
more isolated review.
Subsequent patches will include support for type unit headers and
emission into the debug_types section, as well as comdat grouping the
types based on their hash. Also the CompileUnit type will be renamed
'Unit' and relevant portions pulled out into respective CompileUnit and
TypeUnit types.
llvm-svn: 195166
|
| |
|
|
|
|
| |
accelarator insertion in preparation for a second use of this code from type units.
llvm-svn: 195164
|
| |
|
|
| |
llvm-svn: 195122
|
| |
|
|
| |
llvm-svn: 195121
|
| |
|
|
|
|
|
| |
we can emit various sections in any order.
No functional change.
llvm-svn: 195120
|
| |
|
|
| |
llvm-svn: 195119
|
| |
|
|
| |
llvm-svn: 195060
|
| |
|
|
| |
llvm-svn: 195059
|
| |
|
|
|
|
| |
types, and make DIType(MDNode*) explicit like all the other DI* node ctors.
llvm-svn: 195055
|
| |
|
|
| |
llvm-svn: 194981
|
| |
|
|
| |
llvm-svn: 194980
|
| |
|
|
| |
llvm-svn: 194979
|
| |
|
|
|
|
| |
CompileUnit::createAndAddDIE.
llvm-svn: 194902
|
| |
|
|
| |
llvm-svn: 194901
|
| |
|
|
|
|
|
|
|
| |
and update test cases accordingly.
This doesn't affect the output dumped using llvm-dwarfdump, but
readelf does now dump the debug_loc section.
llvm-svn: 194898
|
| |
|
|
|
|
| |
DICompileUnit instead of a raw MDNode*.
llvm-svn: 194895
|
| |
|
|
|
|
| |
MDNode* for the CU metadata node
llvm-svn: 194893
|
| |
|
|
| |
llvm-svn: 194892
|
| |
|
|
| |
llvm-svn: 194883
|
| |
|
|
| |
llvm-svn: 194879
|
| |
|
|
| |
llvm-svn: 194875
|
| |
|
|
|
|
|
| |
This is the first of a few similar patches. We'll see how far it
goes/makes sense.
llvm-svn: 194871
|
| |
|
|
| |
llvm-svn: 194848
|
| |
|
|
|
|
| |
If getDIE() fails, getOrCreateContextDIE() should also return the CUDie.
llvm-svn: 194843
|
| |
|
|
|
|
|
|
| |
DbgVariable.
No functional change.
llvm-svn: 194761
|
| |
|
|
| |
llvm-svn: 194737
|
| |
|
|
|
|
| |
than null.
llvm-svn: 194728
|
| |
|
|
| |
llvm-svn: 194724
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In ELF and COFF an alias is just another offset in a section. There is no way
to represent an alias to something in another file.
In MachO, the spec has the N_INDR type which should allow for exactly that, but
is not currently implemented. Given that it is specified but not implemented,
we error in codegen to avoid miscompiling but don't reject aliases to
declarations in the verifier to leave the option open of implementing it.
In the past we have used alias to declarations as a way of implementing
weakref, which is why it exists in some old tests which this patch updates.
llvm-svn: 194705
|
| |
|
|
|
|
| |
out header inclusion ordering issues
llvm-svn: 194588
|
| |
|
|
| |
llvm-svn: 194401
|
| |
|
|
| |
llvm-svn: 194400
|
| |
|
|
| |
llvm-svn: 194399
|
| |
|
|
| |
llvm-svn: 194398
|
| |
|
|
|
|
|
|
| |
This should be inconsequential and is work
towards removing the default address space
arguments.
llvm-svn: 194347
|
| |
|
|
| |
llvm-svn: 193894
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
linkonce_odr_auto_hide was in incomplete attempt to implement a way
for the linker to hide symbols that are known to be available in every
TU and whose addresses are not relevant for a particular DSO.
It was redundant in that it all its uses are equivalent to
linkonce_odr+unnamed_addr. Unlike those, it has never been connected
to clang or llvm's optimizers, so it was effectively dead.
Given that nothing produces it, this patch just nukes it
(other than the llvm-c enum value).
llvm-svn: 193865
|
| |
|
|
|
|
|
|
|
| |
blocks
Drive by space optimization. Also makes the DIEs more regular which
might speed up DWARF parsing.
llvm-svn: 193835
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We add a map in DwarfDebug to map MDNodes that are shareable across CUs to the
corresponding DIEs: MDTypeNodeToDieMap. These DIEs can be shared across CUs,
that is why we keep the maps in DwarfDebug instead of CompileUnit.
We make the assumption that if a DIE is not added to an owner yet, we assume
it belongs to the current CU. Since DIEs for the type system are added to
their owners immediately after creation, and other DIEs belong to the current
CU, the assumption should be true.
A testing case is added to show that we only create a single DIE for a type
MDNode and we use ref_addr to refer to the type DIE.
We also add a testing case to show ref_addr relocations for non-darwin
platforms.
llvm-svn: 193779
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch llvm produces a weak_def_can_be_hidden for linkonce_odr
if they are also unnamed_addr or don't have their address taken.
There is not a lot of documentation about .weak_def_can_be_hidden, but
from the old discussion about linkonce_odr_auto_hide and the name of
the directive this looks correct: these symbols can be hidden.
Testing this with the ld64 in Xcode 5 linking clang reduces the number of
exported symbols from 21053 to 19049.
llvm-svn: 193718
|