| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
super.
llvm-svn: 131743
|
|
|
|
|
|
|
| |
* Remove unnecessary arguments now that ForceExpAbs is a method.
* Use ForceExpAbs in EmitAbsValue.
llvm-svn: 131683
|
|
|
|
|
|
| |
I had to change the API slightly to avoid overloading issues.
llvm-svn: 131666
|
|
|
|
|
|
|
|
|
| |
ours compatible with GAS.
In retrospect, I should have emailed binutils about this earlier. Thanks to
Kai Tietz for pointing out that GAS already had SEH directives.
llvm-svn: 131652
|
|
|
|
| |
llvm-svn: 131590
|
|
|
|
| |
llvm-svn: 131579
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- StartChained and EndChained delimit a chained unwind area, which can contain
additional operations to be undone if an exception occurs inside of it.
- UnwindOnly declares that this function doesn't handle any exceptions. If it
has a handler, it's an unwind handler instead of an exception handler.
- Lsda declares the location and size of the LSDA, which in the Win64 EH
scheme is kept inside the UNWIND_INFO struct. Windows itself ignores the
LSDA; it's used by the Language-Specific Handler (the "Personality Function"
from DWARF).
llvm-svn: 131572
|
|
|
|
|
|
|
|
|
| |
GAS has no such directives (not even mingw-w64 GAS has them), so I took
creative license with their names in assembly. I prefixed them all with
"w64_" to avoid namespace collisions, for example. If I discover that GAS
has taken a different approach, I'll change ours to match.
llvm-svn: 131525
|
|
|
|
|
|
|
|
|
|
| |
("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)
Patch by Koan-Sin Tan!
llvm-svn: 131406
|
|
|
|
|
|
| |
one of the sections is created.
llvm-svn: 131124
|
|
|
|
| |
llvm-svn: 131119
|
|
|
|
|
|
| |
-fno-dwarf2-cfi-asm. Implement the same behavior.
llvm-svn: 130637
|
|
|
|
|
|
|
|
|
|
| |
for all symbol differences and can drop the old EmitPCRelSymbolValue
method.
This also make getExprForFDESymbol on ELF equal to the one on MachO, and it
can be made non-virtual.
llvm-svn: 130634
|
|
|
|
|
|
| |
less agressive about disabling cfi on linux :-(
llvm-svn: 130626
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently the output should be almost identical to the one produced by CodeGen
to make the transition easier.
The only two differences I know of are:
* Some files get an extra advance loc of size 0. This will be fixed when
relaxations are enabled.
* The optimization of declaring an EH symbol as an external variable is not
implemented. This is a subset of adding the nounwind attribute, so we if really
this at -O0 we should probably do it at the IL level.
llvm-svn: 130623
|
|
|
|
|
|
|
| |
is a bit ugly, but doing it on the base MCStreamer would be redundant
with the object streamer which does it using SD.
llvm-svn: 130611
|
|
|
|
|
|
|
| |
the final assembly. It is the same technique used when targeting
assemblers that don't support .loc.
llvm-svn: 130587
|
|
|
|
| |
llvm-svn: 130585
|
|
|
|
| |
llvm-svn: 130543
|
|
|
|
|
|
|
|
| |
AsmPrinter can have line number entries.
PR 9810
llvm-svn: 130518
|
|
|
|
|
|
|
|
|
|
|
|
| |
non private symbol. This will be use for handling
foo:
.cfi_startproc
...
On OS X where we have to create a foo.eh symbol.
llvm-svn: 130305
|
|
|
|
| |
llvm-svn: 129955
|
|
|
|
|
|
| |
each instruction.
llvm-svn: 129715
|
|
|
|
|
|
| |
Implement the ones that were missing in the asm streamer.
llvm-svn: 129413
|
|
|
|
| |
llvm-svn: 128370
|
|
|
|
|
|
|
| |
This is just very first approximation how the stuff should be done
(e.g. ARM-only for now). More to follow.
llvm-svn: 127101
|
|
|
|
|
|
| |
mode".
llvm-svn: 127099
|
|
|
|
| |
llvm-svn: 126488
|
|
|
|
|
|
| |
Patch by Nathan Jeffords!
llvm-svn: 126425
|
|
|
|
| |
llvm-svn: 125629
|
|
|
|
| |
llvm-svn: 123472
|
|
|
|
| |
llvm-svn: 123411
|
|
|
|
|
|
| |
So it's possible for some bits of every 8 bits to be encoded already, and the rest still needs to be fixed up.
llvm-svn: 123403
|
|
|
|
| |
llvm-svn: 122584
|
|
|
|
|
|
| |
supports.
llvm-svn: 122577
|
|
|
|
| |
llvm-svn: 122193
|
|
|
|
|
|
|
| |
the MCCodeEmitter, which seems like a better organization.
- Also, cleaned up some magic constants while in the area.
llvm-svn: 121953
|
|
|
|
|
|
| |
- Treaty talks on the non-proliferation of MC objects broke down.
llvm-svn: 121949
|
|
|
|
| |
llvm-svn: 121471
|
|
|
|
| |
llvm-svn: 121461
|
|
|
|
|
|
|
|
|
|
|
| |
f:
.cfi_startproc
nop
.cfi_endproc
assembled (on ELF).
llvm-svn: 121434
|
|
|
|
|
|
|
| |
as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc
bootstrap on darwin10 using darwin9's assembler and linker.
llvm-svn: 121006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
foo = a - b
.long foo
instead of just
.long a - b
First, on darwin9 64 bits the assembler produces the wrong result. Second,
if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not
consider a - b to be a constant but will if the dummy foo is created.
Split how we handle these cases. The first one is something MC should take care
of. The second one has to be handled by the caller.
llvm-svn: 120889
|
|
|
|
|
|
|
|
|
|
|
| |
doing that if the target is darwin10 or newer.
This fixes
*) Direct object emission was producing objects without the workaround on
darwin9.
*) Assembly printing was producing objects with the workaround on linux.
llvm-svn: 120866
|
|
|
|
|
|
| |
difference is much smaller (about 0.3s) but significant.
llvm-svn: 120787
|
|
|
|
|
|
| |
avoids creating leb128 fragments and speeds up the test in PR8711 to 33s.
llvm-svn: 120774
|
|
|
|
|
|
|
| |
data fragment. This reduces the time to assemble the test in 8711 from 60s to
54s.
llvm-svn: 120767
|
|
|
|
|
|
| |
already emitted debug info. So, for now, emit dummy line table entry to make older linker and assemblers happy. This is not a new behavior, original AsmPrinter emitted similar line table entries.
llvm-svn: 120760
|
|
|
|
|
|
| |
This is a fix for llvm-gcc-i386-darwin9 buildbot failure.
llvm-svn: 120742
|
|
|
|
| |
llvm-svn: 120637
|