Chris Lattner [Fri, 10 Jul 2009 06:07:08 +0000 (06:07 +0000)]
convert some late code (called by regalloc and code emission)
to use isGlobalStubReference instead of GVRequiresExtraLoad
(which should really be part of isel).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75234
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Jul 2009 06:06:17 +0000 (06:06 +0000)]
add a new predicate method that says whether a GlobalValue
MachineOperand is a reference to a stub, not a reference to the
global variable itself. Look no context needed!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75233
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Jul 2009 05:52:02 +0000 (05:52 +0000)]
GVRequiresExtraLoad is now never used for calls, simplify it based on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Jul 2009 05:48:03 +0000 (05:48 +0000)]
actually, just eliminate PCRelGVRequiresExtraLoad. It makes the code
more complex and slow than just directly testing what we care about.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Jul 2009 05:45:15 +0000 (05:45 +0000)]
There is only one case where GVRequiresExtraLoad returns true for calls:
split its handling out to PCRelGVRequiresExtraLoad, and simplify code
based on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75230
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Jul 2009 05:37:11 +0000 (05:37 +0000)]
the "isDirectCall" operand of GVRequiresRegister is always false, eliminate it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75229
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Jul 2009 05:33:42 +0000 (05:33 +0000)]
split call handling out of X86SelectAddress into X86SelectCallAddress
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75228
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Jul 2009 05:27:43 +0000 (05:27 +0000)]
convert a helper method to be a static function instead of a
template. Also convert it to take a MachineOperand instead of a GV*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75227
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Jul 2009 05:20:19 +0000 (05:20 +0000)]
80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75226
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Jul 2009 02:10:17 +0000 (02:10 +0000)]
More info about Thumb1 predication support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75220
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Jul 2009 02:09:04 +0000 (02:09 +0000)]
We don't need separate thumb1 instructions tADDSi3 etc. for addc and subc. The "normal" version always modify condition register CPSR so we should just use def : pat to match to the same instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75219
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Jul 2009 01:54:42 +0000 (01:54 +0000)]
Add a thumb2 pass to insert IT blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75218
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Jul 2009 01:38:27 +0000 (01:38 +0000)]
Move isPredicated from .cpp to .h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75217
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 10 Jul 2009 00:49:53 +0000 (00:49 +0000)]
Finish pushing LLVMContext through the IRBuilder/ConstantFolder interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75213
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Jul 2009 00:45:16 +0000 (00:45 +0000)]
80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75212
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Fri, 10 Jul 2009 00:34:39 +0000 (00:34 +0000)]
Fix #include specification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75208
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 10 Jul 2009 00:33:43 +0000 (00:33 +0000)]
ImmutableMap/ImmutableSet: Allow caching of ImutAVLTree digests while the tree
is still mutable. My experiments show this reduces the amount of times we
compute a full tree digest by over 50% on very small cases, and potentially much
larger on others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75207
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Jul 2009 00:23:48 +0000 (00:23 +0000)]
Remove a bogus assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75206
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Fri, 10 Jul 2009 00:14:05 +0000 (00:14 +0000)]
Replace TM.getRegisterInfo() calls by TRI instance variable.
Use getAsmName() method instead of accessing AsmName field directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75205
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 9 Jul 2009 23:56:35 +0000 (23:56 +0000)]
Redesign this to avoid standard stream classes. This stream class
provides pretty -printing of comments and other such things in asm
files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75202
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 9 Jul 2009 23:54:51 +0000 (23:54 +0000)]
Handle 'a' modifier on inline assembly operands.
This is part of the fix for pr4521.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75201
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 9 Jul 2009 23:48:35 +0000 (23:48 +0000)]
This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75200
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 9 Jul 2009 23:43:41 +0000 (23:43 +0000)]
Add some hooks that a redesigned AsmStream needs to do its job. These
allow derived classes to examine the stream buffer before it's flushed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75199
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 23:43:36 +0000 (23:43 +0000)]
Added Thumb IT instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75198
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 9 Jul 2009 23:42:59 +0000 (23:42 +0000)]
Fix an apparent copy-and-paste problem in an error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75197
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 23:17:28 +0000 (23:17 +0000)]
Another todo entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75192
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 9 Jul 2009 23:16:10 +0000 (23:16 +0000)]
Revert the part of 75177 that split ConstantRange into two classes, and
merge the new functionality and unittests into ConstantRange. Thanks to
Nick Lewycky for pointing out that it isn't necessary to have two separate
classes here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75191
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 23:11:34 +0000 (23:11 +0000)]
Initial support for load / store multiple opt pass Thumb2 support (post-allocation only). It's kind of there, but not quite. I'll return to this later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75190
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 22:58:39 +0000 (22:58 +0000)]
Fix ldm / stm unified syntax; add t2LDM_RET.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75188
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 22:57:41 +0000 (22:57 +0000)]
LDM_RET should be marked mayLoad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75187
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 9 Jul 2009 22:30:02 +0000 (22:30 +0000)]
If -fomit-frame-pointer is used, we still need to record when the %esp register
is modified. Otherwise, the unwinder will get confused. The old code (before I
started my hacking) did this. It dropped on the floor, because I wasn't aware of
this requirement.
On the plus side, if we use "alloca" in a function, we create frame pointers
even with -fomit-frame-pointer is enabled!
This is a Good Thing(tm)!!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75183
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 22:21:59 +0000 (22:21 +0000)]
Fix ldrd / strd address mode matching code. It allows for +/- 8 bit offset. Also change the printer to make the scale 4 explicit.
Note, we are not yet generating these instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75181
91177308-0d34-0410-b5e6-
96231b3b80d8
Andreas Bolka [Thu, 9 Jul 2009 22:14:25 +0000 (22:14 +0000)]
Fix typo, trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75179
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 9 Jul 2009 22:07:27 +0000 (22:07 +0000)]
Add a ConstantSignedRange class, which does for signed integers
what ConstantRange does for unsigned integers. Factor out a
common base class for common functionality.
Add some new functions for performing arithmetic on constant
ranges. Some of these are currently just stubbed out with
conservative implementations.
Add unittests for ConstantRange and ConstantSignedRange.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75177
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 9 Jul 2009 22:01:03 +0000 (22:01 +0000)]
Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned
value. Adjust other code to deal with that correctly. Make
DAGTypeLegalizer::PromoteIntRes_EXTRACT_VECTOR_ELT take advantage of
this new flexibility to simplify the code and make it deal with unusual
vectors (like <4 x i1>) correctly. Fixes PR3037.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75176
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 20:50:52 +0000 (20:50 +0000)]
Add a Thumb readme entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75173
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 20:40:44 +0000 (20:40 +0000)]
Correct comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75172
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Pennington [Thu, 9 Jul 2009 20:27:09 +0000 (20:27 +0000)]
bug 4524: Add MSP430 to the cmake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75170
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 9 Jul 2009 20:06:27 +0000 (20:06 +0000)]
Handle 'A' modifier in inline asms.
gcc.apple/asm-block-13.c
gcc.apple/asm-block-57.c
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75169
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 9 Jul 2009 19:39:49 +0000 (19:39 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75167
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 9 Jul 2009 19:39:16 +0000 (19:39 +0000)]
Documentation update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75166
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 9 Jul 2009 19:38:32 +0000 (19:38 +0000)]
We don't need to set SaveTemps here.
'--temp-dir' always overrides 'save-temps'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75165
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 9 Jul 2009 19:37:58 +0000 (19:37 +0000)]
Adjust comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75164
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 9 Jul 2009 19:37:17 +0000 (19:37 +0000)]
Remove some duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75163
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 9 Jul 2009 19:36:08 +0000 (19:36 +0000)]
Rename -t to --temp-dir.
-t is already used by gcc in the meaning 'ld -t' (trace). The Base plugin may
want to emulate this behaviour.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75162
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 9 Jul 2009 18:44:09 +0000 (18:44 +0000)]
As Chris pointed out, we don't actually need to pass the context around here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75161
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 18:41:57 +0000 (18:41 +0000)]
back out r75156 for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75160
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 9 Jul 2009 18:36:20 +0000 (18:36 +0000)]
A little bit more LLVMContextification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75159
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Thu, 9 Jul 2009 18:35:52 +0000 (18:35 +0000)]
Handle Thumb-2 addressing modes during FP elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75158
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 9 Jul 2009 18:34:41 +0000 (18:34 +0000)]
ImmutableSet/ImmutableMap: Allow caching of null digests by properly using a flag to record if the digest of an ImutAVLTree has been cached.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75157
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 9 Jul 2009 18:27:23 +0000 (18:27 +0000)]
Add some classes to produce pretty-printed asm. We'll use these
shortly to provide nicely printed comments and other goodies in
asm files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75156
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 9 Jul 2009 18:09:26 +0000 (18:09 +0000)]
By default -t is always on for mcc16 and it uses ./tmp-objs as the temp directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75155
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 9 Jul 2009 18:06:27 +0000 (18:06 +0000)]
Fixed handling of -t. It gets the prirority for temp dir name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75154
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 9 Jul 2009 17:57:24 +0000 (17:57 +0000)]
Thread LLVMContext through MVT and related parts of SDISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75153
91177308-0d34-0410-b5e6-
96231b3b80d8
Alisdair Meredith [Thu, 9 Jul 2009 17:26:16 +0000 (17:26 +0000)]
Resolve undefined behaviour when ManagedStatic is instantiated with a fixed-length array type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75149
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 17:25:12 +0000 (17:25 +0000)]
add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75148
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 9 Jul 2009 17:16:26 +0000 (17:16 +0000)]
Regenerate for GraphViz tool discovery.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75145
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Thu, 9 Jul 2009 17:06:18 +0000 (17:06 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 16:57:49 +0000 (16:57 +0000)]
remove dead function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75143
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Thu, 9 Jul 2009 16:49:25 +0000 (16:49 +0000)]
Misc encoding fixes; reported on llvmdev.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 16:17:28 +0000 (16:17 +0000)]
eraseFromDisk no longer throws.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75139
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 9 Jul 2009 15:59:27 +0000 (15:59 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75138
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 9 Jul 2009 15:33:55 +0000 (15:33 +0000)]
Forgot a couple files when adding the -ssi-everything pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75136
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 9 Jul 2009 15:33:14 +0000 (15:33 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75135
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 9 Jul 2009 15:24:04 +0000 (15:24 +0000)]
* Install crosstool in /usr/local/crosstool
* Updated LLVM and LLVM-GCC to newer revisions
* Allow separate revisions per SVN module
* Allow user to override MAKE_OPTS
* Removed unused function verifyNotDir()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75134
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 9 Jul 2009 08:48:45 +0000 (08:48 +0000)]
Missing )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75126
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 9 Jul 2009 08:23:38 +0000 (08:23 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75121
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 9 Jul 2009 08:20:25 +0000 (08:20 +0000)]
Added few more options to individual tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75120
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Thu, 9 Jul 2009 08:17:55 +0000 (08:17 +0000)]
Return dir separator as per platform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75119
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 07:02:30 +0000 (07:02 +0000)]
simplify this logic a bit more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75118
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 06:59:17 +0000 (06:59 +0000)]
move reasoning about darwin $non_lazy_ptr stubs from asmprinter into
isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75117
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 06:53:48 +0000 (06:53 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75116
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 9 Jul 2009 06:49:09 +0000 (06:49 +0000)]
Reorg includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 06:44:01 +0000 (06:44 +0000)]
add default ctor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75114
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 06:41:35 +0000 (06:41 +0000)]
rearrange some code, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75113
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 06:34:26 +0000 (06:34 +0000)]
make direct calls set MO_PLT or MO_DARWIN_STUB as appropriate with fast isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75112
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 9 Jul 2009 06:03:04 +0000 (06:03 +0000)]
Don't create undefined symbols for aliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75111
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 05:55:04 +0000 (05:55 +0000)]
reduce nesting by rearranging branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75110
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 05:47:33 +0000 (05:47 +0000)]
make isel use MO_PIC_BASE_OFFSET when lowering globalvalues on darwin in pic
mode, instead of having asmprinter just "know" to print them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75109
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 05:42:07 +0000 (05:42 +0000)]
various minor cleanups, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75108
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 05:27:35 +0000 (05:27 +0000)]
make isel decide whether to emit $stub's on darwin instead of asmprinter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75107
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 05:19:23 +0000 (05:19 +0000)]
pc-relative references are *always* to functions, never to globals. ISel
is incapable of lowering direct references to globals like this, zap the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75106
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 05:09:24 +0000 (05:09 +0000)]
make cygwin use its own stubs set, instead of overloading a darwin one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75105
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 05:02:21 +0000 (05:02 +0000)]
Make isel determine where to emit PLT-relative calls instead of having
asmprinter do it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75104
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 04:56:23 +0000 (04:56 +0000)]
add missing predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75103
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 04:43:12 +0000 (04:43 +0000)]
isPICStyleStub() is now never true in -static mode, so simplify code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75102
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 04:39:06 +0000 (04:39 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75101
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 04:27:47 +0000 (04:27 +0000)]
all this logic always returns true because GOT mode is never active in x86-64 mode.
Simplify it away, someone should evaluate this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75100
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 04:24:46 +0000 (04:24 +0000)]
isPICStyleRIPRel() and friends are never true in -static mode.
Simplify code based on this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75099
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 9 Jul 2009 04:03:30 +0000 (04:03 +0000)]
Move PR4517 to README.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75098
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Thu, 9 Jul 2009 03:57:02 +0000 (03:57 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75097
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 03:40:30 +0000 (03:40 +0000)]
.o file writing shouldn't mess around with pic/relo models like the JIT does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75096
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 03:37:30 +0000 (03:37 +0000)]
move a hack out of the asm-printer specific path to the main target selection path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75095
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 03:32:31 +0000 (03:32 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75094
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 03:27:27 +0000 (03:27 +0000)]
Reduce indentation in GVRequiresExtraLoad. Return true for windows
with DLLImport symbols even when in -static mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75093
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 03:15:51 +0000 (03:15 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75092
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 02:55:47 +0000 (02:55 +0000)]
merge two identical functions and simplify things that are GOT specific
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75091
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 02:46:53 +0000 (02:46 +0000)]
hoist check for IsTailCall to callers. Eliminate redundant check for
x86-64: GOT-style PIC is never used on x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75090
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 02:44:11 +0000 (02:44 +0000)]
change a few methods to be static functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75089
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 Jul 2009 02:43:55 +0000 (02:43 +0000)]
one more added assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75088
91177308-0d34-0410-b5e6-
96231b3b80d8