Chris Lattner
83992b19e4
simplify shouldPrintPLT
...
llvm-svn: 74186
2009-06-25 17:58:52 +00:00
Chris Lattner
852739b46f
Use target-specific machine operand flags to eliminate a gross hack
...
from the asmprinter.
llvm-svn: 74184
2009-06-25 17:38:33 +00:00
Douglas Gregor
2042c3519d
Add missing dependencies to the CMake build system.
...
llvm-svn: 74161
2009-06-25 05:03:06 +00:00
Chris Lattner
ea7422e7bf
fix comments to be correct.
...
llvm-svn: 74154
2009-06-25 01:15:47 +00:00
Devang Patel
9d68302e48
No need to code gen MDNodes
...
llvm-svn: 74150
2009-06-25 00:47:42 +00:00
Chris Lattner
6544289af3
move some functions, add a FIXME, use PrintPICBaseSymbol to print the
...
picbase instead of inlining it.
llvm-svn: 74111
2009-06-24 19:44:36 +00:00
Chris Lattner
9b4aaef9d4
reimplement getPICLabelString as PrintPICBaseSymbol to eliminate std::string heap thrashing.
...
llvm-svn: 74105
2009-06-24 19:19:16 +00:00
Chris Lattner
1fd5888294
sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base class.
...
llvm-svn: 74101
2009-06-24 19:09:55 +00:00
Chris Lattner
70413126b6
sink dwarf finalization out of each target into AsmPrinter::doFinalization
...
llvm-svn: 74097
2009-06-24 18:54:37 +00:00
Chris Lattner
2981dc1742
eliminate the ExtWeakSymbols set from AsmPrinter. This eliminates
...
a bunch of code from all the targets, and eliminates nondeterministic
ordering of directives being emitted in the output.
llvm-svn: 74096
2009-06-24 18:52:01 +00:00
Chris Lattner
a297e0c9b1
only emit one .align for all the hidden gv stubs instead of one for each.
...
llvm-svn: 74094
2009-06-24 18:24:42 +00:00
Chris Lattner
f094f09b76
inline print*Stub and rearrange function stub printing to more closely match
...
gv and hiddengv stub printing.
llvm-svn: 74093
2009-06-24 18:24:09 +00:00
Chris Lattner
13fb0bef1c
remove dead code now that personality functions don't print stubs directly.
...
llvm-svn: 74092
2009-06-24 18:19:01 +00:00
Chris Lattner
e8ad3f13fa
remove now-dead argument.
...
llvm-svn: 74091
2009-06-24 18:17:56 +00:00
Chris Lattner
cc5104dcc4
simplify personality function stub printing to use the mangler and
...
decorateName like other stuff instead of special casing _. Also, stick
it into GVStubs and let the normal stub printer print the stub instead
of doing it manually.
llvm-svn: 74090
2009-06-24 18:17:00 +00:00
Chris Lattner
63aab8a84c
remove dead argument
...
llvm-svn: 74089
2009-06-24 18:00:11 +00:00
Chris Lattner
9db5fbac05
factor some code better.
...
llvm-svn: 74067
2009-06-24 05:47:59 +00:00
Chris Lattner
9f40bc2f79
wire up support for MCContext/MCStreamer in -experimental-asm-printer mode.
...
llvm-svn: 74066
2009-06-24 05:46:28 +00:00
Bob Wilson
5a495fea07
Provide InitializeAllTargets and InitializeNativeTarget functions in the
...
C bindings. Change all the backend "Initialize" functions to have C linkage.
Change the "llvm/Config/Targets.def" header to use C-style comments to avoid
compile warnings.
llvm-svn: 74026
2009-06-23 23:59:40 +00:00
Douglas Gregor
85fedbe081
Eliminate object-relinking support from CMake. Fixes PR 4429 and
...
cleans up the CMake-based build system a bit. Started by a patch from
Xerxes Rånby.
llvm-svn: 73969
2009-06-23 17:57:35 +00:00
Chris Lattner
7719d0184a
simplify closing paren and (rip) printing.
...
llvm-svn: 73841
2009-06-21 02:22:53 +00:00
Chris Lattner
e80442452e
remove #if 0 code
...
llvm-svn: 73837
2009-06-21 01:48:49 +00:00
Chris Lattner
cfad3f3807
cosmetic changes.
...
llvm-svn: 73836
2009-06-21 01:27:55 +00:00
Chris Lattner
40f560d433
remove dead code, the main codepath never has to deal
...
with MBB's.
llvm-svn: 73830
2009-06-20 19:34:47 +00:00
Chris Lattner
9c2119616f
eliminate the "call" operand modifier from the asm descriptions, modeling
...
it as a pcrel immediate instead. This gets pc-rel weirdness out of the
main printoperand codepath.
llvm-svn: 73829
2009-06-20 19:34:09 +00:00
Chris Lattner
b4b5c10477
fix edit-o
...
llvm-svn: 73824
2009-06-20 08:13:12 +00:00
Chris Lattner
9fc4db5615
some comments and cleanup
...
llvm-svn: 73818
2009-06-20 07:59:10 +00:00
Chris Lattner
a0022a772b
implement support for lowering subregs when preparing to print
...
LEA64_32r, eliminating a bunch of modifier logic stuff on addr modes.
Implement support for printing mbb labels as operands.
llvm-svn: 73817
2009-06-20 07:03:18 +00:00
Devang Patel
1b61c2a1ce
Initialize MMI
...
llvm-svn: 73813
2009-06-20 01:00:07 +00:00
Chris Lattner
1f8d968687
hook up printMemReference.
...
llvm-svn: 73811
2009-06-20 00:50:32 +00:00
Chris Lattner
4682015e61
Start implementing translation of MachineInstr to MCInst. Next
...
step is to make tblgen generate something more appropriate for MCInst,
and generate calls to operand translation routines where needed.
This includes a bunch of #if 0 code which will slowly be refactored into
something sensible.
llvm-svn: 73810
2009-06-20 00:49:26 +00:00
Chris Lattner
8d284c7683
stub out some hacky code for wiring up the new asmprinter interfaces
...
on X86. Not useful yet.
llvm-svn: 73799
2009-06-19 23:59:57 +00:00
Devang Patel
88be5cf01f
DwarfWriter is used to emit EH info also.
...
llvm-svn: 73792
2009-06-19 23:21:20 +00:00
Devang Patel
33f4eb462f
Move up dwarf writer initialization in common AsmPrinter class.
...
llvm-svn: 73784
2009-06-19 21:54:26 +00:00
Eli Friedman
707cbc4126
Misc tweaks to Intel asm printing to make it more compatible with MASM.
...
Patch by Benedict Gaster.
llvm-svn: 73753
2009-06-19 04:48:38 +00:00
Chris Lattner
a08186aabc
add a file I missed, this goes with r73743
...
llvm-svn: 73744
2009-06-19 00:47:59 +00:00
Chris Lattner
3235c38dbb
Add some scaffolding for a new experimental asmprinter
...
implementation. The idea is that we want asmprinting to
work by converting MachineInstrs into a new MCInst class,
then the per-instruction asmprinter works on MCInst. MCInst
and the new asmprinters will not depend on most of the
llvm code generators. This allows building diassemblers
that don't link in the whole llvm code generator. This is
step #1 of many.
llvm-svn: 73743
2009-06-19 00:47:33 +00:00
Chris Lattner
b84764516d
move mangler quote handling from asm printers to TargetAsmInfo.
...
llvm-svn: 73738
2009-06-18 23:41:35 +00:00
Chris Lattner
4df8e5c800
minor cleanup
...
llvm-svn: 73737
2009-06-18 23:33:13 +00:00
Douglas Gregor
1b731d5dbe
Introduce new headers whose inclusion forces linking and
...
initialization of all targets (InitializeAllTargets.h) or assembler
printers (InitializeAllAsmPrinters.h). This is a step toward the
elimination of relinked object files, so that we can build normal
archives.
llvm-svn: 73543
2009-06-16 20:12:29 +00:00
Chris Lattner
8565c4bed4
remove extraneous const qualifier
...
llvm-svn: 73373
2009-06-15 04:42:32 +00:00
Bill Wendling
09f17a8479
Untabification.
...
llvm-svn: 72604
2009-05-30 01:09:53 +00:00
Mike Stump
35ea2c9aa6
Reflow to fit 80-col.
...
llvm-svn: 71813
2009-05-14 23:23:37 +00:00
Mike Stump
13e4f10c53
Reflow to fit 80-col.
...
llvm-svn: 71812
2009-05-14 23:22:47 +00:00
Bill Wendling
6b167d684a
More MSVC fixes -- class/struct conflicts.
...
llvm-svn: 71601
2009-05-12 21:55:29 +00:00
Duncan Sands
af9eaa830a
Rename PaddedSize to AllocSize, in the hope that this
...
will make it more obvious what it represents, and stop
it being confused with the StoreSize.
llvm-svn: 71349
2009-05-09 07:06:46 +00:00
Argyrios Kyrtzidis
31af617924
Fix compilation for some targets other than x86.
...
llvm-svn: 70522
2009-04-30 23:50:26 +00:00
Argyrios Kyrtzidis
a5037484a4
Make DebugLoc independent of DwarfWriter.
...
-Replace DebugLocTuple's Source ID with CompileUnit's GlobalVariable*
-Remove DwarfWriter::getOrCreateSourceID
-Make necessary changes for the above (fix callsites, etc.)
llvm-svn: 70520
2009-04-30 23:22:31 +00:00
Bill Wendling
026e5d7667
Instead of passing in an unsigned value for the optimization level, use an enum,
...
which better identifies what the optimization is doing. And is more flexible for
future uses.
llvm-svn: 70440
2009-04-29 23:29:43 +00:00
Bill Wendling
084669a1c9
Second attempt:
...
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
llvm-svn: 70343
2009-04-29 00:15:41 +00:00