Rafael Espindola
a13eab4837
Expose more passes to the C API.
...
llvm-svn: 129087
2011-04-07 18:20:46 +00:00
Jakob Stoklund Olesen
aace1636b6
Avoid moving iterators when the previous block was just visited.
...
llvm-svn: 129081
2011-04-07 17:27:50 +00:00
Jakob Stoklund Olesen
1791098020
Prefer multiplications to divisions.
...
llvm-svn: 129080
2011-04-07 17:27:48 +00:00
Jakob Stoklund Olesen
402a4daae6
Extract SpillPlacement::addLinks for handling the special transparent blocks.
...
llvm-svn: 129079
2011-04-07 17:27:46 +00:00
Devang Patel
17670a995c
While hoisting common code from if/else, hoist debug info intrinsics if they match.
...
llvm-svn: 129078
2011-04-07 17:27:36 +00:00
Tanya Lattner
3deb96fad7
Prevent ARM DAG Combiner from doing an AND or OR combine on an illegal vector type (vectors of size 3). Also included test cases.
...
llvm-svn: 129074
2011-04-07 15:24:20 +00:00
Jay Foad
9351e0c03e
Fix a bit of nonsense.
...
llvm-svn: 129073
2011-04-07 12:41:09 +00:00
Chris Lattner
c0cc11ce0f
add faust too
...
llvm-svn: 129053
2011-04-07 03:09:21 +00:00
Chris Lattner
af5e910e60
add a few late stragglers.
...
llvm-svn: 129052
2011-04-07 03:08:22 +00:00
Sean Callanan
b1e6d05325
Fixed a bug where missing EDInstInfo would cause
...
tokenization to crash and burn.
llvm-svn: 129051
2011-04-07 01:56:01 +00:00
Johnny Chen
4c81015af7
Sanity check MSRi for invalid mask values and reject it as invalid.
...
rdar://problem/9246844
llvm-svn: 129050
2011-04-07 01:37:34 +00:00
Eli Friedman
b0e846a68c
PR9634: Don't unconditionally tell the AliasSetTracker that the PreheaderLoad
...
is equivalent to any other relevant value; it isn't true in general.
If it is equivalent, the LoopPromoter will tell the AST the equivalence.
Also, delete the PreheaderLoad if it is unused.
Chris, since you were the last one to make major changes here, can you check
that this is sane?
llvm-svn: 129049
2011-04-07 01:35:06 +00:00
Johnny Chen
1f028bb23e
The ARM disassembler was not recognizing USADA8 instruction. Need to add checking for register values
...
for USAD8 and USADA8.
rdar://problem/9247060
llvm-svn: 129047
2011-04-07 01:05:52 +00:00
Evan Cheng
859dff2c87
Change -arm-divmod-libcall to a target neutral option.
...
llvm-svn: 129045
2011-04-07 00:58:44 +00:00
Evan Cheng
1d3691e071
Remove dead code. rdar://9221736.
...
llvm-svn: 129044
2011-04-07 00:56:37 +00:00
Johnny Chen
523f8f38f7
Should also check SMLAD for invalid register values.
...
rdar://problem/9246650
llvm-svn: 129042
2011-04-07 00:50:25 +00:00
Devang Patel
bb234bb5dd
Simplify. isIdenticalToWhenDefined() checks opcode.
...
llvm-svn: 129041
2011-04-07 00:30:15 +00:00
Nick Lewycky
04fdd20e58
Set unnamed_addr on strings created through the IRBuilder.
...
llvm-svn: 129040
2011-04-07 00:14:29 +00:00
Nick Lewycky
fccee4ca24
Add support for ArrayRef in IRBuilder's CreateCall.
...
llvm-svn: 129039
2011-04-07 00:03:25 +00:00
Owen Anderson
37b60bdf09
Teach the ARM peephole optimizer that RSB, RSC, ADC, and SBC can be used for folded comparisons, just like ADD and SUB.
...
llvm-svn: 129038
2011-04-06 23:35:59 +00:00
Owen Anderson
7f766b61a1
Cleanups from Jim: remove redundant constraints and a dead FIXME.
...
llvm-svn: 129036
2011-04-06 22:45:55 +00:00
Devang Patel
12a95842b2
While folding branch to a common destination into a predecessor, copy dbg values also.
...
llvm-svn: 129035
2011-04-06 22:37:20 +00:00
Jim Grosbach
0510dc2765
Tidy up.
...
llvm-svn: 129034
2011-04-06 22:35:47 +00:00
Johnny Chen
81aa7d84be
A8.6.393
...
The ARM disassembler should reject invalid (type, align) encodings as invalid instructions.
So, instead of:
Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1|
-------------------------------------------------------------------------------------------------
vst2.32 {d0, d2}, [r3, :256], r3
we now have:
Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1|
-------------------------------------------------------------------------------------------------
mc-input.txt:1:1: warning: invalid instruction encoding
0xb3 0x9 0x3 0xf4
^
llvm-svn: 129033
2011-04-06 22:14:48 +00:00
Jim Grosbach
3b01595efd
tidy up.
...
llvm-svn: 129032
2011-04-06 22:13:52 +00:00
Jakob Stoklund Olesen
b59d7e2dea
Also account for the spill code that would be inserted in live-through blocks with interference.
...
llvm-svn: 129030
2011-04-06 21:32:41 +00:00
Jakob Stoklund Olesen
7bd327adbc
Abort the constraint calculation early when all positive bias is lost.
...
Without any positive bias, there is nothing for the spill placer to to. It will
spill everywhere.
llvm-svn: 129029
2011-04-06 21:32:38 +00:00
Nick Lewycky
a980fa69e8
Fix typo in doxy-comment.
...
llvm-svn: 129028
2011-04-06 20:54:07 +00:00
Johnny Chen
96fd9620c8
A8.6.92 MCR (Encoding A1): if coproc == '101x' then SEE "Advanced SIMD and VFP"
...
Since these "Advanced SIMD and VFP" instructions have more specfic encoding bits
specified, if coproc == 10 or 11, we should reject the insn as invalid.
rdar://problem/9239922
rdar://problem/9239596
llvm-svn: 129027
2011-04-06 20:49:02 +00:00
Nick Lewycky
505e20340f
Fix comment to use llvm 2.x syntax.
...
llvm-svn: 129025
2011-04-06 20:38:44 +00:00
Nick Lewycky
f2d78099ce
Replace const std::vector& with ArrayRef in the type creation APIs.
...
llvm-svn: 129024
2011-04-06 20:28:34 +00:00
Jakob Stoklund Olesen
7621fb6c1b
Keep track of the number of positively biased nodes when adding constraints.
...
If there are no positive nodes, the algorithm can be aborted early.
llvm-svn: 129021
2011-04-06 19:14:00 +00:00
Jakob Stoklund Olesen
00f622b9b1
Break the spill placement algorithm into three parts: prepare, addConstraints, and finish.
...
This will allow us to abort the algorithm early if it is determined to be futile.
llvm-svn: 129020
2011-04-06 19:13:57 +00:00
Roman Divacky
ad7a68fff5
Fix a typo.
...
llvm-svn: 129019
2011-04-06 19:12:21 +00:00
Johnny Chen
b3130a03a7
Fix a bug in the disassembly of VGETLNs8 where the lane index was wrong.
...
Also set the encoding bits (for A8.6.303, A8.6.328, A8.6.329) Inst{3-0} = 0b0000,
in class NVLaneOp.
rdar://problem/9240648
llvm-svn: 129015
2011-04-06 18:27:46 +00:00
Rafael Espindola
2d898c22cd
Add another case we are not optimizing.
...
llvm-svn: 129012
2011-04-06 17:35:32 +00:00
Rafael Espindola
115cbc12ea
The original issue has been fixed by not doing unnecessary sign extensions.
...
Change the test to force a sign extension and expose the problem again.
llvm-svn: 129011
2011-04-06 17:19:35 +00:00
Devang Patel
5799b28555
face+palm
...
Keep track of llvm.dbg.value intrinsics with non null values.
llvm-svn: 129010
2011-04-06 17:08:15 +00:00
Rafael Espindola
71cc0a3215
Do a topological sort of the types before writing them out.
...
This takes the linking of libxul on linux from 6m54.931s to 5m39.840s.
llvm-svn: 129009
2011-04-06 16:49:37 +00:00
Jim Grosbach
b966c26bc9
EngineBuilder setter method for UseMCJIT was missing return value.
...
llvm-svn: 129008
2011-04-06 16:35:19 +00:00
Chris Lattner
6f4969e793
add rubinius
...
llvm-svn: 129006
2011-04-06 16:14:25 +00:00
Frits van Bommel
51604bed0f
Fix a few instances of "warning: extra ';' outside of a function [-pedantic]".
...
llvm-svn: 129002
2011-04-06 12:29:56 +00:00
Nadav Rotem
ecc7d9a408
This testcase passed even without the fix. Added the target info to make the
...
test fail (without the fix). Thanks Dan.
llvm-svn: 128999
2011-04-06 11:18:29 +00:00
Duncan Sands
dd20746250
Fix some typos. Minor tweaks to how some things were expressed.
...
llvm-svn: 128997
2011-04-06 08:07:40 +00:00
Jay Foad
c3de661aa8
Trivial typo fixes.
...
llvm-svn: 128996
2011-04-06 07:55:30 +00:00
Nick Lewycky
e15c6c11b4
Add an empty key for DebugLoc so that you can store an empty DebugLoc in a
...
DenseMap.
llvm-svn: 128994
2011-04-06 06:49:59 +00:00
Chris Lattner
a579f228bf
Finish up the first draft of the release notes.
...
improvements are welcome, please commit any changes directly to SVN.
llvm-svn: 128992
2011-04-06 06:29:50 +00:00
Chris Lattner
aa6816aa16
continue writing.
...
llvm-svn: 128990
2011-04-06 05:50:04 +00:00
Nick Lewycky
dfed8e0ff5
Support using DebugLoc's in a DenseMap.
...
llvm-svn: 128988
2011-04-06 05:36:52 +00:00
Jakob Stoklund Olesen
10a362acbd
Oops. Scary.
...
llvm-svn: 128986
2011-04-06 04:07:14 +00:00