| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now emit a line table for each compile unit. To reduce the prologue size
of each line table, the files and directories used by each compile unit are
stored in std::map<unsigned, std::vector< > > instead of std::vector< >.
The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each
compile unit causes a huge increase of debug info. With this patch, each
prologue will only emit the files required by the compile unit.
rdar://problem/13342023
llvm-svn: 176605
|
|
|
|
| |
llvm-svn: 175578
|
|
|
|
|
|
|
|
|
| |
We generate one line table for each compilation unit in the object file.
Reviewed by Eric and Kevin.
rdar://problem/13067005
llvm-svn: 174445
|
|
|
|
| |
llvm-svn: 170394
|
|
|
|
|
|
|
|
| |
the assembler.
Part of PR14624
llvm-svn: 170390
|
|
|
|
|
|
|
|
|
|
| |
compilation directory.
This defaults to the current working directory, just as it always has,
but now an assembler can choose to override it with a custom directory.
I've taught llvm-mc about this option and added a test case.
llvm-svn: 170371
|
|
|
|
|
|
|
|
| |
the asm printer,
also changed MCContext to a single reset only method for simplicity as requested on the list
llvm-svn: 170041
|
|
|
|
|
|
|
|
|
|
|
|
| |
back to the tree with fixes. on darwin no valgrind issues exist in the tests that used to fail.
original change description:
change MCContext to work on the doInitialization/doFinalization model
reviewed by Evan Cheng <evan.cheng@apple.com>
llvm-svn: 169553
|
|
|
|
|
|
|
|
| |
doInitialization/doFinalization model"
It broke many builders.
llvm-svn: 169462
|
|
|
|
|
|
| |
reviewed by Evan Cheng <evan.cheng@apple.com>
llvm-svn: 169456
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131
|
|
|
|
|
|
| |
Patch by Adhemerval Zanella.
llvm-svn: 164141
|
|
|
|
| |
llvm-svn: 159645
|
|
|
|
|
|
|
|
| |
with PathV2.
It fixes failure in test/MC/MachO/gen-dwarf.s on Win32 w/o bash.
llvm-svn: 159640
|
|
|
|
|
|
|
| |
Can be used to issue more user friendly diagnostics for faulty
relocation constructs and such.
llvm-svn: 149092
|
|
|
|
| |
llvm-svn: 149090
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it is separating the directory part from the basename of the FileName. Noticed
that this:
.file 1 "dir/foo"
when assembled got the two parts switched. Using the Mac OS X dwarfdump tool
it can be seen easily:
% dwarfdump -a a.out
include_directories[ 1] = 'foo'
Dir Mod Time File Len File Name
---- ---------- ---------- ---------------------------
file_names[ 1] 1 0x00000000 0x00000000 dir
...
Which should be:
...
include_directories[ 1] = 'dir'
Dir Mod Time File Len File Name
---- ---------- ---------- ---------------------------
file_names[ 1] 1 0x00000000 0x00000000 foo
llvm-svn: 143521
|
|
|
|
|
|
|
|
|
|
|
|
| |
-g flag. In this part we generate the .file for the source being assembled and
the .loc's for the assembled instructions.
The next part will be to generate the dwarf Compile Unit DIE and a dwarf
subprogram DIE for each non-temporary label.
Once the next part is done test cases will be added. rdar://9275556
llvm-svn: 143509
|
|
|
|
|
|
|
|
|
|
| |
.file filenumber "directory" "filename"
This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.
llvm-svn: 142300
|
|
|
|
| |
llvm-svn: 141807
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
reduces the number of calls to malloc().
llvm-svn: 129687
|
|
|
|
|
|
| |
And don't append the name over and over again in the loop.
llvm-svn: 129210
|
|
|
|
|
|
| |
on Darwin.
llvm-svn: 128430
|
|
|
|
| |
llvm-svn: 124054
|
|
|
|
| |
llvm-svn: 121471
|
|
|
|
| |
llvm-svn: 121461
|
|
|
|
|
|
|
|
|
|
|
| |
f:
.cfi_startproc
nop
.cfi_endproc
assembled (on ELF).
llvm-svn: 121434
|
|
|
|
|
|
|
|
|
| |
by the assembler. This was blocking parsing any large .s produced by clang for
example.
Fixes PR8596.
llvm-svn: 120603
|
|
|
|
| |
llvm-svn: 120166
|
|
|
|
|
|
|
| |
Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer
and then switch codegen to use it.
llvm-svn: 119384
|
|
|
|
|
|
|
| |
another patch.
This lets us parse a bit more of the gcc 4.5 output.
llvm-svn: 118975
|
|
|
|
| |
llvm-svn: 118805
|
|
|
|
| |
llvm-svn: 118699
|
|
|
|
|
|
| |
earlier. Implicit bool -> int conversions are evil!
llvm-svn: 118651
|
|
|
|
| |
llvm-svn: 118645
|
|
|
|
| |
llvm-svn: 118639
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Changed ValidateDwarfFileNumber() to isValidDwarfFileNumber() to be better
named. Since it is just a predicate and isn't actually changing any state.
2) Added a missing return in the comments for setCurrentDwarfLoc() in
include/llvm/MC/MCContext.h for fix formatting.
3) Changed clearDwarfLocSeen() to ClearDwarfLocSeen() since it does change
state.
4) Simplified the last test in isValidDwarfFileNumber() to just a one line
boolean test of MCDwarfFiles[FileNumber] != 0 for the final return statement.
llvm-svn: 115551
|
|
|
|
|
|
|
| |
time. That way, the EntrySize field is initialized for other code paths,
namely, the .ll -> .o code path.
llvm-svn: 115141
|
|
|
|
|
|
|
|
|
|
| |
and output the dwarf line number tables. This takes the current loc info after
an instruction is assembled and saves the needed info into an object that has
vector and for each section. These objects will be used for the final patch to
build and emit the encoded dwarf line number tables. Again for now this is only
in the Mach-O streamer but at some point will move to a more generic place.
llvm-svn: 112668
|
|
|
|
|
|
|
|
|
|
| |
needed parsing for the .loc directive and saves the current info from that
into the context. The next patch will take the current loc info after an
instruction is assembled and save that info into a vector for each section for
use to build the line number tables. The patch after that will encode the info
from those vectors into the output file as the dwarf line tables.
llvm-svn: 111956
|
|
|
|
| |
llvm-svn: 111172
|
|
|
|
|
|
|
|
| |
previously collected info from the .file directives and outputs the encoded
bytes for it. For now this is only in the Mach-O streamer but at some point
will move to a more generic place.
llvm-svn: 110617
|
|
|
|
| |
llvm-svn: 109746
|
|
|
|
|
|
|
| |
the info from the .file directive and makes file and directory tables that
will eventually be put out as part of the dwarf info in the output file.
llvm-svn: 109651
|
|
|
|
| |
llvm-svn: 108130
|
|
|
|
| |
llvm-svn: 107077
|
|
|
|
|
|
|
| |
- Allocate MCLabels in the context so they don't leak.
- Avoid duplicated densemap lookup.
llvm-svn: 104020
|