| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
This untangles the switch cases of the old Move and RelMove opcodes a bit
and makes it clear how to add new instructions.
llvm-svn: 168534
|
|
|
|
|
|
|
|
|
|
| |
Give MCCFIInstruction a single, private constructor and add helper static
methods that create each type of cfi instruction. This is is preparation
for changing its representation. The representation with a pair
MachineLocations older than MC and has been abused quiet a bit to support
more cfi instructions.
llvm-svn: 168532
|
|
|
|
|
|
| |
Roman Divacky. I just added the testcase.
llvm-svn: 168520
|
|
|
|
| |
llvm-svn: 167926
|
|
|
|
|
|
|
|
| |
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)"
No functional change. Update r163344.
llvm-svn: 163679
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 163344
|
|
|
|
|
|
| |
of the range. Fixes PR13581!
llvm-svn: 161739
|
|
|
|
|
|
|
| |
These functions are very generic. There's no reason for them to
be tied to MCObjectWriter.
llvm-svn: 161545
|
|
|
|
| |
llvm-svn: 160621
|
|
|
|
|
|
| |
DwarfUsesRelocationsAcrossSections.
llvm-svn: 158992
|
|
|
|
| |
llvm-svn: 156602
|
|
|
|
|
|
| |
FoldingSetNodeID.
llvm-svn: 154495
|
|
|
|
|
|
|
|
|
|
| |
debug info for assembly files. We were already doing the right thing when
producing debug info for C/C++.
ELF linkers don't know dwarf, so they depend on these relocations to produce
valid dwarf output.
llvm-svn: 151655
|
|
|
|
| |
llvm-svn: 151418
|
|
|
|
| |
llvm-svn: 149967
|
|
|
|
| |
llvm-svn: 148733
|
|
|
|
|
|
| |
Found by the clang static analyzer.
llvm-svn: 148543
|
|
|
|
|
|
|
| |
functional change in r147860 to use DW_TAG_label's instead TAG_subprogram's.
This only changes names and updates comments. No functional change.
llvm-svn: 147877
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assembly source when it generates the TAG_subprogram dwarf debug info for
the labels that have nothing between them as in this bit of assembly source:
% cat ZeroLength.s
_func1:
_func2:
nop
One solution would be to not emit the subsequent labels with the same address
and use the next label with a different address or the end of the section for
the AT_high_pc value of the TAG_subprogram.
Turns out in llvm-mc it is not possible in all cases to determine of two
symbols have the same value at the point we put out the TAG_subprogram dwarf
debug info.
So we will have llvm-mc instead of putting out TAG_subprogram's put out
DW_TAG_label's. And the DW_TAG_label does not have a AT_high_pc value which
avoids the problem.
This commit is only the functional change to make the diffs clear as to what is
really being changed. The next commit will be to clean up the names of such
things like MCGenDwarfSubprogramEntry to something like MCGenDwarfLabelEntry.
rdar://10666925
llvm-svn: 147860
|
|
|
|
| |
llvm-svn: 147356
|
|
|
|
| |
llvm-svn: 147354
|
|
|
|
| |
llvm-svn: 147352
|
|
|
|
|
|
| |
SingleSource/Benchmarks/Shootout-C++/except.cpp and friends. It was encoding the stored registers in the wrong order.
llvm-svn: 146617
|
|
|
|
| |
llvm-svn: 146545
|
|
|
|
|
|
|
|
|
|
| |
generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each
non-temporary label.
The next part will be to get the clang driver to enable this when assembling
a .s file. rdar://9275556
llvm-svn: 146262
|
|
|
|
| |
llvm-svn: 145977
|
|
|
|
|
|
|
| |
This still seems to be causing some failures. It needs more testing before
it gets enabled again.
llvm-svn: 144543
|
|
|
|
| |
llvm-svn: 144392
|
|
|
|
| |
llvm-svn: 144351
|
|
|
|
| |
llvm-svn: 144346
|
|
|
|
| |
llvm-svn: 144186
|
|
|
|
|
|
| |
*headdesk*
llvm-svn: 144138
|
|
|
|
|
|
| |
As a side effect hex is printed lowercase instead of uppercase now.
llvm-svn: 144013
|
|
|
|
| |
llvm-svn: 139152
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
.cfi_startproc. e.g. libffi:
$ cat confopt.c
asm (".cfi_startproc\n\t.cfi_endproc");
int main () { return 0; }
Teach MC / dwarf emission to handle these cfi directives which essentially
create an empty frame.
rdar://10017184
llvm-svn: 138504
|
|
|
|
|
|
| |
emitted, emit them next as CIE/FDEs.
llvm-svn: 135807
|
|
|
|
|
|
|
| |
There is still a bit more refactoring left to do in Targets. But we are now very
close to fixing all the layering issues in MC.
llvm-svn: 135611
|
|
|
|
|
|
|
|
| |
TargetLoweringObjectFileImpl down to MCObjectFileInfo.
TargetAsmInfo is done to one last method. It's *almost* gone!
llvm-svn: 135569
|
|
|
|
|
|
| |
emit.
llvm-svn: 135452
|
|
|
|
| |
llvm-svn: 135451
|
|
|
|
|
|
| |
better location welcome).
llvm-svn: 135438
|
|
|
|
|
|
|
|
|
| |
to MCRegisterInfo. Also initialize the mapping at construction time.
This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step
towards fixing the layering violation.
llvm-svn: 135424
|
|
|
|
|
|
|
| |
solution but it is a small step towards removing the horror that is
TargetAsmInfo.
llvm-svn: 135237
|
|
|
|
| |
llvm-svn: 135236
|
|
|
|
| |
llvm-svn: 135227
|
|
|
|
|
|
| |
* The personality function should be encoded as an absolute pointer to the function.
llvm-svn: 135215
|
|
|
|
|
|
|
|
|
| |
TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are
other cases of violations, but this is probably the worst.
This patch is but one small step towards fixing this. 500 more steps to go. :-(
llvm-svn: 135131
|
|
|
|
|
|
| |
not the FDE
llvm-svn: 135020
|
|
|
|
| |
llvm-svn: 134577
|
|
|
|
| |
llvm-svn: 134557
|