David Greene
ab11a81fc0
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.
llvm-svn: 75199
2009-07-09 23:43:41 +00:00
Evan Cheng
26b2ba4285
Added Thumb IT instruction.
...
llvm-svn: 75198
2009-07-09 23:43:36 +00:00
Bob Wilson
f76798769f
Fix an apparent copy-and-paste problem in an error message.
...
llvm-svn: 75197
2009-07-09 23:42:59 +00:00
Evan Cheng
ae4f2e142a
Another todo entry.
...
llvm-svn: 75192
2009-07-09 23:17:28 +00:00
Dan Gohman
dc33ae27ed
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.
llvm-svn: 75191
2009-07-09 23:16:10 +00:00
Evan Cheng
4605e8aac4
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.
...
llvm-svn: 75190
2009-07-09 23:11:34 +00:00
Evan Cheng
1622d7b429
Fix ldm / stm unified syntax; add t2LDM_RET.
...
llvm-svn: 75188
2009-07-09 22:58:39 +00:00
Evan Cheng
a02fc2d327
LDM_RET should be marked mayLoad.
...
llvm-svn: 75187
2009-07-09 22:57:41 +00:00
Bill Wendling
ad6c36f065
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)!!!
llvm-svn: 75183
2009-07-09 22:30:02 +00:00
Evan Cheng
7591d02c84
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.
llvm-svn: 75181
2009-07-09 22:21:59 +00:00
Andreas Bolka
75f341dc23
Fix typo, trailing whitespace.
...
llvm-svn: 75179
2009-07-09 22:14:25 +00:00
Dan Gohman
5035fbf91c
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.
llvm-svn: 75177
2009-07-09 22:07:27 +00:00
Eli Friedman
2b77eef160
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.
llvm-svn: 75176
2009-07-09 22:01:03 +00:00
Evan Cheng
f9870125fc
Add a Thumb readme entry.
...
llvm-svn: 75173
2009-07-09 20:50:52 +00:00
Evan Cheng
ad93707e16
Correct comment.
...
llvm-svn: 75172
2009-07-09 20:40:44 +00:00
Richard Pennington
9f3bd4a728
bug 4524: Add MSP430 to the cmake build.
...
llvm-svn: 75170
2009-07-09 20:27:09 +00:00
Dale Johannesen
546a7bbe8f
Handle 'A' modifier in inline asms.
...
gcc.apple/asm-block-13.c
gcc.apple/asm-block-57.c
llvm-svn: 75169
2009-07-09 20:06:27 +00:00
Mikhail Glushenkov
4e63f335ae
Regenerate.
...
llvm-svn: 75167
2009-07-09 19:39:49 +00:00
Mikhail Glushenkov
7ab20c7cf9
Documentation update.
...
llvm-svn: 75166
2009-07-09 19:39:16 +00:00
Mikhail Glushenkov
163f93e434
We don't need to set SaveTemps here.
...
'--temp-dir' always overrides 'save-temps'.
llvm-svn: 75165
2009-07-09 19:38:32 +00:00
Mikhail Glushenkov
353b8cc112
Adjust comment.
...
llvm-svn: 75164
2009-07-09 19:37:58 +00:00
Mikhail Glushenkov
eb9896ac3b
Remove some duplication.
...
llvm-svn: 75163
2009-07-09 19:37:17 +00:00
Mikhail Glushenkov
b1e8563376
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.
llvm-svn: 75162
2009-07-09 19:36:08 +00:00
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
Ted Kremenek
f710b6820c
ImmutableSet/ImmutableMap: Allow caching of null digests by properly using a flag to record if the digest of an ImutAVLTree has been cached.
...
llvm-svn: 75157
2009-07-09 18:34:41 +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
f3b8609c6f
By default -t is always on for mcc16 and it uses ./tmp-objs as the temp directory.
...
llvm-svn: 75155
2009-07-09 18:09:26 +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
Alisdair Meredith
f00634bc1a
Resolve undefined behaviour when ManagedStatic is instantiated with a fixed-length array type.
...
llvm-svn: 75149
2009-07-09 17:26:16 +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
d93c40b669
Regenerate for GraphViz tool discovery.
...
llvm-svn: 75145
2009-07-09 17:16:26 +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
f747f092d1
Forgot a couple files when adding the -ssi-everything pass.
...
llvm-svn: 75136
2009-07-09 15:33:55 +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
Misha Brukman
3008068c61
* 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()
llvm-svn: 75134
2009-07-09 15:24:04 +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
Sanjiv Gupta
c378299f79
Added few more options to individual tools.
...
llvm-svn: 75120
2009-07-09 08:20:25 +00:00
Sanjiv Gupta
772924295d
Return dir separator as per platform.
...
llvm-svn: 75119
2009-07-09 08:17:55 +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