Commit Graph

29494 Commits

Author SHA1 Message Date
Owen Anderson 092bc51cdb As Chris pointed out, we don't actually need to pass the context around here.
llvm-svn: 75161
2009-07-09 18:44:09 +00:00
Chris Lattner 55b9726596 back out r75156 for now.
llvm-svn: 75160
2009-07-09 18:41:57 +00:00
Owen Anderson 29fd313e9e A little bit more LLVMContextification.
llvm-svn: 75159
2009-07-09 18:36:20 +00:00
David Goodwin 7bf08beb2e Handle Thumb-2 addressing modes during FP elimination.
llvm-svn: 75158
2009-07-09 18:35:52 +00:00
David Greene 67cde99e90 Add some classes to produce pretty-printed asm. We'll use these
shortly to provide nicely printed comments and other goodies in
asm files.

llvm-svn: 75156
2009-07-09 18:27:23 +00:00
Sanjiv Gupta 093e9ed866 Fixed handling of -t. It gets the prirority for temp dir name.
llvm-svn: 75154
2009-07-09 18:06:27 +00:00
Owen Anderson 0504e0a222 Thread LLVMContext through MVT and related parts of SDISel.
llvm-svn: 75153
2009-07-09 17:57:24 +00:00
Chris Lattner 28ad7547d2 add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!
llvm-svn: 75148
2009-07-09 17:25:12 +00:00
David Greene 4417b4c80b Add support for other GraphViz display tools. This can help
with very large graphs, where dot isn't necessarily the 
most visually pleasing way of looking at the graph.

llvm-svn: 75144
2009-07-09 17:06:18 +00:00
Chris Lattner 5df1bced69 remove dead function.
llvm-svn: 75143
2009-07-09 16:57:49 +00:00
Eli Friedman 5911537b68 Misc encoding fixes; reported on llvmdev.
llvm-svn: 75142
2009-07-09 16:49:25 +00:00
Chris Lattner 433cf71144 eraseFromDisk no longer throws.
llvm-svn: 75139
2009-07-09 16:17:28 +00:00
Nick Lewycky ab81d2f5e9 There's no need to consider PHI nodes in the same block as the instruction
we're inserting sigma/phi functions for. Patch by Andre Tavares.

llvm-svn: 75138
2009-07-09 15:59:27 +00:00
Nick Lewycky eb373ad2af Add some statistics to SSI so we can see what it's up to.
Add an -ssi-everything pass which calls createSSI on everything in the function.

llvm-svn: 75135
2009-07-09 15:33:14 +00:00
Bill Wendling 7160d3b6d2 Missing )
llvm-svn: 75126
2009-07-09 08:48:45 +00:00
Sanjiv Gupta a383ffa219 Add a -t="dir" option to the driver. This can be used to specify the directory to be used as TempDir if somebody doesn't want to use the standard /tmp.
llvm-svn: 75121
2009-07-09 08:23:38 +00:00
Chris Lattner 212c0506cd simplify this logic a bit more.
llvm-svn: 75118
2009-07-09 07:02:30 +00:00
Chris Lattner 72e3deca47 move reasoning about darwin $non_lazy_ptr stubs from asmprinter into
isel.

llvm-svn: 75117
2009-07-09 06:59:17 +00:00
Evan Cheng 7452c968e4 Targets sometimes assign fixed stack object to spill certain callee-saved
registers based on dynamic conditions. For example, X86 EBP/RBP, when used as
frame register has to be spilled in the first fixed object. It should inform
PEI this so it doesn't get allocated another stack object. Also, it should not
be spilled as other callee-saved registers but rather its spilling and restoring
are being handled by emitPrologue and emitEpilogue. Avoid spilling it twice.

llvm-svn: 75116
2009-07-09 06:53:48 +00:00
Evan Cheng 27e32c092e Reorg includes.
llvm-svn: 75115
2009-07-09 06:49:09 +00:00
Chris Lattner 770e0429be rearrange some code, no functionality change.
llvm-svn: 75113
2009-07-09 06:41:35 +00:00
Chris Lattner c58f1fb0df make direct calls set MO_PLT or MO_DARWIN_STUB as appropriate with fast isel.
llvm-svn: 75112
2009-07-09 06:34:26 +00:00
Chris Lattner 3ffd238f1c reduce nesting by rearranging branches.
llvm-svn: 75110
2009-07-09 05:55:04 +00:00
Chris Lattner e0dae0e716 make isel use MO_PIC_BASE_OFFSET when lowering globalvalues on darwin in pic
mode, instead of having asmprinter just "know" to print them.

llvm-svn: 75109
2009-07-09 05:47:33 +00:00
Chris Lattner 0667b145c4 various minor cleanups, no functionality change.
llvm-svn: 75108
2009-07-09 05:42:07 +00:00
Chris Lattner d047d06358 make isel decide whether to emit $stub's on darwin instead of asmprinter.
llvm-svn: 75107
2009-07-09 05:27:35 +00:00
Chris Lattner 3e41fec4df pc-relative references are *always* to functions, never to globals. ISel
is incapable of lowering direct references to globals like this, zap the code.

llvm-svn: 75106
2009-07-09 05:19:23 +00:00
Chris Lattner 82aa63c9b0 make cygwin use its own stubs set, instead of overloading a darwin one.
llvm-svn: 75105
2009-07-09 05:09:24 +00:00
Chris Lattner d5d80ab6b6 Make isel determine where to emit PLT-relative calls instead of having
asmprinter do it.

llvm-svn: 75104
2009-07-09 05:02:21 +00:00
Chris Lattner b4de36ea47 isPICStyleStub() is now never true in -static mode, so simplify code.
llvm-svn: 75102
2009-07-09 04:43:12 +00:00
Chris Lattner fef11d6e77 simplify some code based on the fact that picstyles != none are only valid
in pic or dynamic-no-pic mode. Also, x86-64 never used picstylegot.

llvm-svn: 75101
2009-07-09 04:39:06 +00:00
Chris Lattner 62f568c037 all this logic always returns true because GOT mode is never active in x86-64 mode.
Simplify it away, someone should evaluate this.

llvm-svn: 75100
2009-07-09 04:27:47 +00:00
Chris Lattner 3945dd0c44 isPICStyleRIPRel() and friends are never true in -static mode.
Simplify code based on this.

llvm-svn: 75099
2009-07-09 04:24:46 +00:00
Nick Lewycky 4e705e421c Move PR4517 to README.txt.
llvm-svn: 75098
2009-07-09 04:03:30 +00:00
Lang Hames dab7b06de9 Improved tracking of value number kills. VN kills are now represented
as an (index,bool) pair. The bool flag records whether the kill is a
PHI kill or not. This code will be used to enable splitting of live
intervals containing PHI-kills.

A slight change to live interval weights introduced an extra spill
into lsr-code-insertion (outside the critical sections). The test 
condition has been updated to reflect this.

llvm-svn: 75097
2009-07-09 03:57:02 +00:00
Chris Lattner 117608b129 .o file writing shouldn't mess around with pic/relo models like the JIT does.
llvm-svn: 75096
2009-07-09 03:40:30 +00:00
Chris Lattner 0b0c5cc376 move a hack out of the asm-printer specific path to the main target selection path.
llvm-svn: 75095
2009-07-09 03:37:30 +00:00
Chris Lattner 7e3abf1ab0 many more cleanups, for example if in the "none" pic-style,
make sure we're set to static codegen.  Simplify the decision
tree of target->picstyle/picmode settings.

llvm-svn: 75094
2009-07-09 03:32:31 +00:00
Chris Lattner 821084a356 Reduce indentation in GVRequiresExtraLoad. Return true for windows
with DLLImport symbols even when in -static mode.

llvm-svn: 75093
2009-07-09 03:27:27 +00:00
Chris Lattner 1c5bf9d26d When in -static mode, force the PIC style to none. Doing this requires fixing
code which conflated RIPRel PIC with x86-64.  Fix these to just check for X86-64
directly.

llvm-svn: 75092
2009-07-09 03:15:51 +00:00
Chris Lattner 384a738b4a merge two identical functions and simplify things that are GOT specific
llvm-svn: 75091
2009-07-09 02:55:47 +00:00
Chris Lattner 4d1e9bf717 hoist check for IsTailCall to callers. Eliminate redundant check for
x86-64: GOT-style PIC is never used on x86-64.

llvm-svn: 75090
2009-07-09 02:46:53 +00:00
Chris Lattner 88765d4831 change a few methods to be static functions.
llvm-svn: 75089
2009-07-09 02:44:11 +00:00
Chris Lattner b1f0ac2a2f one more added assert.
llvm-svn: 75088
2009-07-09 02:43:55 +00:00
Chris Lattner 47f64ea174 move handling of dllimport linkage in isel, not in asmprinter.
llvm-svn: 75086
2009-07-09 00:58:53 +00:00
Chris Lattner a8e08a4429 one more assertion!
llvm-svn: 75083
2009-07-09 00:49:29 +00:00
Chris Lattner 5d0713946b add some more assertions. Remove code to handle dllimport on darwin.
llvm-svn: 75082
2009-07-09 00:47:59 +00:00
Dan Gohman 6b04136756 Make SelectionDAG::getVectorShuffle work properly for VECTOR_SHUFFLE
nodes with operand types that differ from the result type. (This
doesn't normally happen right now, because
SelectionDAGLowering::visitShuffleVector normalizes vector shuffles.)

llvm-svn: 75081
2009-07-09 00:46:33 +00:00
Chris Lattner 031c5fec43 remove "asmcall", using print_pcrel_imm instead of printOperand.
llvm-svn: 75080
2009-07-09 00:39:19 +00:00
Chris Lattner f0c21619f8 simplify some logic
llvm-svn: 75079
2009-07-09 00:32:12 +00:00