1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
Commit Graph

48147 Commits

Author SHA1 Message Date
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
Eli Friedman
b34a153606 Misc encoding fixes; reported on llvmdev.
llvm-svn: 75142
2009-07-09 16:49:25 +00:00