Evan Cheng
6e276f4376
More info about Thumb1 predication support.
...
llvm-svn: 75220
2009-07-10 02:10:17 +00:00
Evan Cheng
74f5327e53
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.
...
llvm-svn: 75219
2009-07-10 02:09:04 +00:00
Evan Cheng
24f2aefc87
Add a thumb2 pass to insert IT blocks.
...
llvm-svn: 75218
2009-07-10 01:54:42 +00:00
Evan Cheng
4d2678d1ff
Move isPredicated from .cpp to .h
...
llvm-svn: 75217
2009-07-10 01:38:27 +00:00
Owen Anderson
1500792c2c
Finish pushing LLVMContext through the IRBuilder/ConstantFolder interface.
...
llvm-svn: 75213
2009-07-10 00:49:53 +00:00
Evan Cheng
5bdb67db63
80 col violation.
...
llvm-svn: 75212
2009-07-10 00:45:16 +00:00
David Greene
a3a442fd55
Fix #include specification.
...
llvm-svn: 75208
2009-07-10 00:34:39 +00:00
Ted Kremenek
ec0e24ae25
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.
llvm-svn: 75207
2009-07-10 00:33:43 +00:00
Evan Cheng
4249ad4c00
Remove a bogus assertion.
...
llvm-svn: 75206
2009-07-10 00:23:48 +00:00
Bob Wilson
3309c912fb
Replace TM.getRegisterInfo() calls by TRI instance variable.
...
Use getAsmName() method instead of accessing AsmName field directly.
llvm-svn: 75205
2009-07-10 00:14:05 +00:00
David Greene
7ee78e9d5c
Redesign this to avoid standard stream classes. This stream class
...
provides pretty -printing of comments and other such things in asm
files.
llvm-svn: 75202
2009-07-09 23:56:35 +00:00
Bob Wilson
f5f52fa9d6
Handle 'a' modifier on inline assembly operands.
...
This is part of the fix for pr4521.
llvm-svn: 75201
2009-07-09 23:54:51 +00:00
Owen Anderson
49226b1075
This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!?
...
llvm-svn: 75200
2009-07-09 23:48:35 +00:00
David Greene
98610d5cfd
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
1b15e9611e
Added Thumb IT instruction.
...
llvm-svn: 75198
2009-07-09 23:43:36 +00:00
Bob Wilson
b2d82a5f9f
Fix an apparent copy-and-paste problem in an error message.
...
llvm-svn: 75197
2009-07-09 23:42:59 +00:00
Evan Cheng
0d509459ff
Another todo entry.
...
llvm-svn: 75192
2009-07-09 23:17:28 +00:00
Dan Gohman
8a58b8f83b
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
5bde39cb50
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
57a4e81f3f
Fix ldm / stm unified syntax; add t2LDM_RET.
...
llvm-svn: 75188
2009-07-09 22:58:39 +00:00
Evan Cheng
09e7791563
LDM_RET should be marked mayLoad.
...
llvm-svn: 75187
2009-07-09 22:57:41 +00:00
Bill Wendling
4b9c615e09
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
3b7c3fafab
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
1f4a3d9bf8
Fix typo, trailing whitespace.
...
llvm-svn: 75179
2009-07-09 22:14:25 +00:00
Dan Gohman
33251eff97
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
08991c716a
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
7f8e728a54
Add a Thumb readme entry.
...
llvm-svn: 75173
2009-07-09 20:50:52 +00:00
Evan Cheng
e08efed97a
Correct comment.
...
llvm-svn: 75172
2009-07-09 20:40:44 +00:00
Richard Pennington
6cfce9d61d
bug 4524: Add MSP430 to the cmake build.
...
llvm-svn: 75170
2009-07-09 20:27:09 +00:00
Dale Johannesen
faa5bcf31d
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
fad1db9347
Regenerate.
...
llvm-svn: 75167
2009-07-09 19:39:49 +00:00
Mikhail Glushenkov
b067c19529
Documentation update.
...
llvm-svn: 75166
2009-07-09 19:39:16 +00:00
Mikhail Glushenkov
d338e3f9dd
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
ac5de493e5
Adjust comment.
...
llvm-svn: 75164
2009-07-09 19:37:58 +00:00
Mikhail Glushenkov
f702b30ebc
Remove some duplication.
...
llvm-svn: 75163
2009-07-09 19:37:17 +00:00
Mikhail Glushenkov
1958523090
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
03965f5212
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
1fc5ed8460
back out r75156 for now.
...
llvm-svn: 75160
2009-07-09 18:41:57 +00:00
Owen Anderson
98aa906e73
A little bit more LLVMContextification.
...
llvm-svn: 75159
2009-07-09 18:36:20 +00:00
David Goodwin
6c4201dbcb
Handle Thumb-2 addressing modes during FP elimination.
...
llvm-svn: 75158
2009-07-09 18:35:52 +00:00
Ted Kremenek
c089dcb368
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
3f79ac95c2
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
d7c9ab8477
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
b848e69ea7
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
8970999512
Thread LLVMContext through MVT and related parts of SDISel.
...
llvm-svn: 75153
2009-07-09 17:57:24 +00:00
Alisdair Meredith
b74a1f546f
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
56638bb644
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
1ba4845d50
Regenerate for GraphViz tool discovery.
...
llvm-svn: 75145
2009-07-09 17:16:26 +00:00
David Greene
3612687754
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
3b6ab3722d
remove dead function.
...
llvm-svn: 75143
2009-07-09 16:57:49 +00:00