| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
lower the SETB* instructions.
llvm-svn: 95431
|
|
|
|
|
|
|
| |
again, so it more or less handles long double.
Restore \n removed in latest MC frenzy.
llvm-svn: 95271
|
|
|
|
|
|
| |
third stub case.
llvm-svn: 95209
|
|
|
|
| |
llvm-svn: 95208
|
|
|
|
|
|
| |
instead of textually.
llvm-svn: 95206
|
|
|
|
|
|
|
| |
of const ones. non-const ones aren't very useful, because you can't
even, say, emit them.
llvm-svn: 95205
|
|
|
|
|
|
| |
.o files don't like that.
llvm-svn: 95187
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the streamer. Demo:
$ cat t.ll
define i32 @test() nounwind {
ret i32 42
}
$ llc t.ll -o -
...
_test:
movl $42, %eax
ret
$ llc t.ll -o t.o -filetype=obj
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_test:
00000000 movl $0x0000002a,%eax
00000005 ret
llvm-svn: 95179
|
|
|
|
|
|
|
|
| |
the end of the instruction instead of expecting the caller to
do it. This currently causes the asm-verbose instruction
comments to be on the next line.
llvm-svn: 95178
|
|
|
|
|
|
|
|
| |
than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp
file. This allows elimination of the
NO_ASM_WRITER_BOILERPLATE hack among other things.
llvm-svn: 95177
|
|
|
|
|
|
| |
to have some problems anyway.
llvm-svn: 95171
|
|
|
|
| |
llvm-svn: 95159
|
|
|
|
|
|
|
| |
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.
llvm-svn: 95155
|
|
|
|
|
|
|
|
| |
Move the X86 implementation of function body emission up to
AsmPrinter::EmitFunctionBody, which works by calling the virtual
EmitInstruction method.
llvm-svn: 94716
|
|
|
|
|
|
| |
per document.
llvm-svn: 94693
|
|
|
|
|
|
|
| |
logic up from X86 into the common code. The other targets will
hopefully start using this soon.
llvm-svn: 94614
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which is more convenient, and change getPICJumpTableRelocBaseExpr
to take a MachineFunction to match.
Next, move the X86 code that create a PICBase symbol to
X86TargetLowering::getPICBaseSymbol from
X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific
library. This eliminates a 'gross hack', and allows us to
implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now
calls it.
This in turn allows us to eliminate the
X86AsmPrinter::printPICJumpTableSetLabel method, which was the
only overload of printPICJumpTableSetLabel.
llvm-svn: 94526
|
|
|
|
|
|
|
| |
EK_LabelDifference32 kind and the target has .set support. Simplify
X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers.
llvm-svn: 94518
|
|
|
|
|
|
|
|
|
|
|
| |
jump table entry kind, instead of overloading
AsmPrinter::printPICJumpTableEntry.
This has a pretty horrible and inefficient FIXME around how @GOTOFF
is currently smashed into the mcsymbol name, but otherwise this is
much cleaner.
llvm-svn: 94516
|
|
|
|
|
|
| |
the AsmPrinter::GetMBBSymbol.
llvm-svn: 94515
|
|
|
|
|
|
|
| |
AsmPrinter::SetupMachineFunction sets it. Note that systemz
and msp430 didn't. Yay for reduced inconsistency! :)
llvm-svn: 94510
|
|
|
|
| |
llvm-svn: 94489
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. MachineJumpTableInfo is now created lazily for a function the first time
it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the
TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
throughout the compiler that "knows" that jump table entries are always
32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
their kind, instead of at machinefunction creation time.
Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.
llvm-svn: 94470
|
|
|
|
| |
llvm-svn: 94464
|
|
|
|
| |
llvm-svn: 94449
|
|
|
|
|
|
|
| |
and MCize the non-pic case. Now printPICJumpTableEntry really
is just about printing PIC entries.
llvm-svn: 94446
|
|
|
|
| |
llvm-svn: 94445
|
|
|
|
|
|
| |
rename it to avoid shadowing.
llvm-svn: 94440
|
|
|
|
|
|
|
| |
normal form of .file would fail if the filename had a weird character
in it.
llvm-svn: 94437
|
|
|
|
| |
llvm-svn: 94436
|
|
|
|
| |
llvm-svn: 94378
|
|
|
|
|
|
| |
into a new MCDirectives.h file.
llvm-svn: 94294
|
|
|
|
| |
llvm-svn: 94285
|
|
|
|
|
|
|
|
|
|
|
| |
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.
This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.
llvm-svn: 94164
|
|
|
|
| |
llvm-svn: 93864
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
doing global variable classification anymore) and hookized, sink almost
all target targets global variable emission code into AsmPrinter and out
of each target.
Some notes:
1. PIC16 does completely custom and crazy stuff, so it is not changed.
2. XCore has some custom handling for extra directives. I'll look at it next.
3. This switches linux/ppc to use .globl instead of .global. If .globl is
actually wrong, let me know and I'll fix it.
4. This makes linux/ppc get a lot of random cases right which were obviously
wrong before, it is probably now a bit healthier.
5. Blackfin will probably start getting .comm and other things that it didn't
before. If this is undesirable, it should explicitly opt out of these
things by clearing the relevant fields of MCAsmInfo.
This leads to a nice diffstat:
14 files changed, 127 insertions(+), 830 deletions(-)
llvm-svn: 93858
|
|
|
|
| |
llvm-svn: 93855
|
|
|
|
|
|
|
|
| |
I'm not sure that this is correct, but it causes no test failures,
and just emitting a .comm without protecting its linkage somehow
is surely not right.
llvm-svn: 93854
|
|
|
|
| |
llvm-svn: 93853
|
|
|
|
|
|
| |
"isdarwin".
llvm-svn: 93852
|
|
|
|
|
|
|
|
|
|
| |
This makes a similar code dead in all the other targets, I'll clean it up
in a bit.
This also moves handling of lcomm up before acquisition of a section,
since lcomm never needs a section.
llvm-svn: 93851
|
|
|
|
|
|
| |
darwin into common code.
llvm-svn: 93849
|
|
|
|
|
|
| |
duplicating the logic (differently) in lots of different targets.
llvm-svn: 93847
|
|
|
|
| |
llvm-svn: 93845
|
|
|
|
|
|
|
|
| |
GCC would put weak zero initialized mutable data in the .bss section,
we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits'
section. Fixing this will allow simplifications next up.
llvm-svn: 93844
|
|
|
|
|
|
|
|
|
| |
simplify and commonize some of the asmprinter logic for globals.
This also avoids printing the MCSection for .zerofill, which broke
the llvm-gcc build.
llvm-svn: 93843
|
|
|
|
| |
llvm-svn: 93839
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. TargetLoweringObjectFileMachO should decide if something
goes in zerofill instead of having every target do it.
2. TargetLoweringObjectFileMachO should assign said symbols to
the right MCSection, the asmprinters should just emit to the
right section.
3. Since all zerofill stuff goes through mcstreamer anymore,
MAI can have a bool "haszerofill" instead of having the textual
directive to emit.
llvm-svn: 93838
|
|
|
|
| |
llvm-svn: 93702
|
|
|
|
|
|
|
| |
as it emits code. Switch .globl directives to use OutStreamer instead of
doing it textually (in x86)
llvm-svn: 93700
|