| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
The ELF object writer will take advantage of that in the next commit.
llvm-svn: 234950
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
formatted_raw_ostream is a wrapper over another stream to add column and line
number tracking.
It is used only for asm printing.
This patch moves the its creation down to where we know we are printing
assembly. This has the following advantages:
* Simpler lifetime management: std::unique_ptr
* We don't compute column and line number of object files :-)
llvm-svn: 234535
|
| |
|
|
|
|
|
| |
an MCInstPrinter. Update all callers and use where we wanted a Triple
previously.
llvm-svn: 233648
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code this patch removes was there to make sure the text sections went
before the dwarf sections. That is necessary because MachO uses offsets
relative to the start of the file, so adding a section can change relaxations.
The dwarf sections were being printed at the start just to produce symbols
pointing at the start of those sections.
The underlying issue was fixed in r231898. The dwarf sections are now printed
when they are about to be used, which is after we printed the text sections.
To make sure we don't regress, the patch makes the MachO streamer assert
if CodeGen puts anything unexpected after the DWARF sections.
llvm-svn: 232842
|
| |
|
|
| |
llvm-svn: 232429
|
| |
|
|
|
|
|
| |
update all ports accordingly. Required a couple of small rewrites
in handling subtarget features during creation in PPC.
llvm-svn: 231861
|
| |
|
|
|
|
| |
asm directives.
llvm-svn: 229798
|
| |
|
|
| |
llvm-svn: 224109
|
| |
|
|
|
|
| |
unique_ptr to caller.
llvm-svn: 224108
|
| |
|
|
| |
llvm-svn: 219799
|
| |
|
|
|
|
|
|
|
|
| |
Take a StringRef instead of a "const char *".
Take a "std::error_code &" instead of a "std::string &" for error.
A create static method would be even better, but this patch is already a bit too
big.
llvm-svn: 216393
|
| |
|
|
|
|
| |
std::unique_ptr
llvm-svn: 216223
|
| |
|
|
| |
llvm-svn: 212405
|
| |
|
|
| |
llvm-svn: 212401
|
| |
|
|
|
|
|
|
|
|
| |
Use 0 for the invalid buffer instead of -1/~0 and switch to unsigned
representation to enable more idiomatic usage.
Also introduce a trivial SourceMgr::getMainFileID() instead of hard-coding 0/1
to identify the main file.
llvm-svn: 212398
|
| |
|
|
| |
llvm-svn: 211985
|
| |
|
|
|
|
|
| |
used by all of the MC level tools and codegen. Fix up all uses
in the compiler to use this and set it on the context accordingly.
llvm-svn: 211257
|
| |
|
|
| |
llvm-svn: 211255
|
| |
|
|
| |
llvm-svn: 210876
|
| |
|
|
|
|
| |
This should make sure that most new uses use the std prefix.
llvm-svn: 210835
|
| |
|
|
|
|
|
|
|
| |
Previously there was a separate mode entirely (--hdis vs.
--disassemble). It makes a bit more sense for the immediate printing
style to be a flag for --disassmeble rather than an entirely different
thing.
llvm-svn: 210700
|
| |
|
|
|
|
| |
program and have them initialize the MCOptions struct explicitly.
llvm-svn: 209321
|
| |
|
|
|
|
| |
rename it to something more descriptive.
llvm-svn: 209263
|
| |
|
|
|
|
| |
options and code. No functional change.
llvm-svn: 208833
|
| |
|
|
|
|
| |
We were already always passing true, this just removes the option.
llvm-svn: 208205
|
| |
|
|
|
|
|
| |
Record the DWARF version in MCContext, and use it when
emitting the dwarf version into the debug info.
llvm-svn: 207739
|
| |
|
|
| |
llvm-svn: 207176
|
| |
|
|
|
|
|
|
|
| |
For now it contains a single flag, SanitizeAddress, which enables
AddressSanitizer instrumentation of inline assembly.
Patch by Yuri Gorshenin.
llvm-svn: 206971
|
| |
|
|
| |
llvm-svn: 205053
|
| |
|
|
|
|
|
|
|
|
| |
This is a bit of a stab in the dark, since I have zlib on my machine.
Just going to bounce it off the bots & see if it sticks.
Do we have some convention for negative REQUIRES: checks? Or do I just
need to add a feature like I've done here?
llvm-svn: 205050
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) When creating a .debug_* section and instead create a .zdebug_
section.
2) When creating a fragment in a .zdebug_* section, make it a compressed
fragment.
3) When computing the size of a compressed section, compress the data
and use the size of the compressed data.
4) Emit the compressed bytes.
Also, check that only if a section has a compressed fragment, then that
is the only fragment in the section.
Assert-fail if the fragment's data is modified after it is compressed.
Initial review on llvm-commits by Eric Christopher and Rafael Espindola.
llvm-svn: 204958
|
| |
|
|
|
|
| |
It was dead.
llvm-svn: 204404
|
| |
|
|
|
|
|
|
|
|
| |
This compiles with no changes to clang/lld/lldb with MSVC and includes
overloads to various functions which are used by those projects and llvm
which have OwningPtr's as parameters. This should allow out of tree
projects some time to move. There are also no changes to libs/Target,
which should help out of tree targets have time to move, if necessary.
llvm-svn: 203083
|
| |
|
|
| |
llvm-svn: 202957
|
| |
|
|
|
|
|
|
|
| |
After this I will set the default back to F_None. The advantage is that
before this patch forgetting to set F_Binary would corrupt a file on windows.
Forgetting to set F_Text produces one that cannot be read in notepad, which
is a better failure mode :-)
llvm-svn: 202052
|
| |
|
|
|
|
| |
Clang itself was not using this. The only way to access it was via llc.
llvm-svn: 200862
|
| |
|
|
|
|
|
| |
With this the target streamers will be able to know the target features that
are in use.
llvm-svn: 200135
|
| |
|
|
| |
llvm-svn: 199785
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'Deprecated' class allows you to specify a SubtargetFeature that the
instruction is deprecated on.
The 'ComplexDeprecationPredicate' class allows you to define a custom
predicate that is called to check for deprecation.
For example:
ComplexDeprecationPredicate<"MCR">
would mean you would have to define the following function:
bool getMCRDeprecationInfo(MCInst &MI, MCSubtargetInfo &STI,
std::string &Info)
Which returns 'false' for not deprecated, and 'true' for deprecated
and store the warning message in 'Info'.
The MCTargetAsmParser constructor was chaned to take an extra argument of
the MCInstrInfo class, so out-of-tree targets will need to be changed.
llvm-svn: 190598
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to generate the compact unwind encoding from the machine
instructions. However, this had the problem that if the user used `-save-temps'
or compiled their hand-written `.s' file (with CFI directives), we wouldn't
generate the compact unwind encoding.
Move the algorithm that generates the compact unwind encoding into the
MCAsmBackend. This way we can generate the encoding whether the code is from a
`.ll' or `.s' file.
<rdar://problem/13623355>
llvm-svn: 190290
|
| |
|
|
|
|
|
| |
This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).
llvm-svn: 186447
|
| |
|
|
|
|
|
|
|
| |
Someone may want to do something crazy, like replace these objects if they
change or something.
No functionality change intended.
llvm-svn: 184175
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It was just a less powerful and more confusing version of
MCCFIInstruction. A side effect is that, since MCCFIInstruction uses
dwarf register numbers, calls to getDwarfRegNum are pushed out, which
should allow further simplifications.
I left the MachineModuleInfo::addFrameMove interface unchanged since
this patch was already fairly big.
llvm-svn: 181680
|
| |
|
|
|
|
| |
Patch by Jun Koi!
llvm-svn: 181231
|
| |
|
|
|
|
| |
to NULL and use asserts to check in relevant places.
llvm-svn: 176134
|
| |
|
|
| |
llvm-svn: 172642
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AT_producer. Which includes clang's version information so we can tell
which version of the compiler was used.
This is the first of two steps to allow us to do that. This is the llvm-mc
change to provide a method to set the AT_producer string. The second step,
coming soon to a clang near you, will have the clang driver pass the value
of getClangFullVersion() via an flag when invoking the integrated assembler
on assembly source files.
rdar://12955296
llvm-svn: 172630
|
| |
|
|
|
|
| |
its only user, is gone.
llvm-svn: 170699
|
| |
|
|
| |
llvm-svn: 170578
|
| |
|
|
|
|
|
|
| |
the assembler.
Part of PR14624
llvm-svn: 170390
|