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