Evan Cheng
e5564748b7
Added Thumb IT instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 23:43:36 +00:00
Bob Wilson
2202360734
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
2009-07-09 23:42:59 +00:00
Evan Cheng
896fe89f55
Another todo entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75192 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 23:17:28 +00:00
Dan Gohman
38b0644761
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
2009-07-09 23:16:10 +00:00
Evan Cheng
45032f2801
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
2009-07-09 23:11:34 +00:00
Evan Cheng
c50a1cbf5f
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
2009-07-09 22:58:39 +00:00
Evan Cheng
d75223d6c6
LDM_RET should be marked mayLoad.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75187 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 22:57:41 +00:00
Bill Wendling
d15f45f53e
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
2009-07-09 22:30:02 +00:00
Evan Cheng
5c874172ac
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
2009-07-09 22:21:59 +00:00
Andreas Bolka
7b9547089f
Fix typo, trailing whitespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75179 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 22:14:25 +00:00
Dan Gohman
a3755d8d36
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
2009-07-09 22:07:27 +00:00
Eli Friedman
c680ac9003
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
2009-07-09 22:01:03 +00:00
Evan Cheng
6dded67b0d
Add a Thumb readme entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75173 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 20:50:52 +00:00
Evan Cheng
cba962dd6b
Correct comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75172 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 20:40:44 +00:00
Richard Pennington
a51984b8ba
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
2009-07-09 20:27:09 +00:00
Dale Johannesen
39f59d8250
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
2009-07-09 20:06:27 +00:00
Mikhail Glushenkov
98a39613ec
Regenerate.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 19:39:49 +00:00
Mikhail Glushenkov
792f1822e6
Documentation update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75166 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 19:39:16 +00:00
Mikhail Glushenkov
be8d735a70
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
2009-07-09 19:38:32 +00:00
Mikhail Glushenkov
1c0ffa49e0
Adjust comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75164 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 19:37:58 +00:00
Mikhail Glushenkov
f5f9a4d7db
Remove some duplication.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75163 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 19:37:17 +00:00
Mikhail Glushenkov
3a780d1214
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
2009-07-09 19:36:08 +00:00
Owen Anderson
5dcaceb0a6
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
2009-07-09 18:44:09 +00:00
Chris Lattner
2a52c69140
back out r75156 for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 18:41:57 +00:00
Owen Anderson
a547b4708b
A little bit more LLVMContextification.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75159 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 18:36:20 +00:00
David Goodwin
8b98b85c64
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
2009-07-09 18:35:52 +00:00
Ted Kremenek
633eb95f3e
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
2009-07-09 18:34:41 +00:00
David Greene
a637691871
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
2009-07-09 18:27:23 +00:00
Sanjiv Gupta
23bb1e21f4
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
2009-07-09 18:09:26 +00:00
Sanjiv Gupta
7ebc424a31
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
2009-07-09 18:06:27 +00:00
Owen Anderson
d1474d09cb
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
2009-07-09 17:57:24 +00:00
Alisdair Meredith
80c8c31782
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
2009-07-09 17:26:16 +00:00
Chris Lattner
1fc3d75581
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
2009-07-09 17:25:12 +00:00
David Greene
f0b9effccb
Regenerate for GraphViz tool discovery.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75145 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 17:16:26 +00:00
David Greene
00ad26ff57
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
2009-07-09 17:06:18 +00:00
Chris Lattner
354b5ac161
remove dead function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75143 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 16:57:49 +00:00
Eli Friedman
7675040979
Misc encoding fixes; reported on llvmdev.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 16:49:25 +00:00
Chris Lattner
ac356602f2
eraseFromDisk no longer throws.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75139 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 16:17:28 +00:00
Nick Lewycky
89f43a5c70
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
2009-07-09 15:59:27 +00:00
Nick Lewycky
4c12ee5f61
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
2009-07-09 15:33:55 +00:00
Nick Lewycky
6ca7f41f5b
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
2009-07-09 15:33:14 +00:00
Misha Brukman
f881ae0a32
* 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
2009-07-09 15:24:04 +00:00
Bill Wendling
5c6da7c243
Missing )
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75126 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 08:48:45 +00:00
Sanjiv Gupta
0b8f418488
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
2009-07-09 08:23:38 +00:00
Sanjiv Gupta
549882d312
Added few more options to individual tools.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 08:20:25 +00:00
Sanjiv Gupta
44a382f894
Return dir separator as per platform.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75119 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 08:17:55 +00:00
Chris Lattner
ac007b64ea
simplify this logic a bit more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75118 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 07:02:30 +00:00
Chris Lattner
75cdf27f48
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
2009-07-09 06:59:17 +00:00
Evan Cheng
910139f9ca
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
2009-07-09 06:53:48 +00:00
Evan Cheng
1945b7b5c5
Reorg includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75115 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 06:49:09 +00:00