Joerg Sonnenberger
9fa9ed6961
Dependency should be on the output file name, not the dependency file
...
name.
llvm-svn: 139220
2011-09-07 02:12:03 +00:00
Devang Patel
f4483238b6
While sinking machine instructions, sink matching DBG_VALUEs also otherwise live debug variable pass will drop DBG_VALUEs on the floor.
...
llvm-svn: 139208
2011-09-07 00:07:58 +00:00
Bill Wendling
763ed58408
Reenable compact unwind by default. However, also emit the old version of unwind
...
information for older linkers.
llvm-svn: 139206
2011-09-06 23:47:14 +00:00
Owen Anderson
9ae90800a2
memset_pattern16 uses a 16 BYTE pattern, not a 16 BIT pattern. Add comments to that effect.
...
llvm-svn: 139205
2011-09-06 23:43:26 +00:00
Owen Anderson
483f94e8d1
Teach BasicAA about the aliasing properties of memset_pattern16.
...
Fixes PR10872 and <rdar://problem/10065079>.
llvm-svn: 139204
2011-09-06 23:33:25 +00:00
Jim Grosbach
2b87e14298
ISB is HasDB, not just HasV7.
...
llvm-svn: 139202
2011-09-06 23:09:19 +00:00
Jim Grosbach
14720bed32
Thumb2 parsing and encoding for ISB.
...
llvm-svn: 139200
2011-09-06 22:53:27 +00:00
Jim Grosbach
521a061450
Thumb2 parsing and encoding for EOR.
...
llvm-svn: 139199
2011-09-06 22:44:50 +00:00
Jim Grosbach
463bf279d6
Thumb2 parsing and encoding for DSB.
...
llvm-svn: 139194
2011-09-06 22:19:40 +00:00
Jim Grosbach
276e51888c
Thumb2 parsing and encoding for DMB.
...
llvm-svn: 139193
2011-09-06 22:14:58 +00:00
Nick Lewycky
4e3daabb26
Disable these tests harder. They're XFAIL'd, but that means they still run, and
...
these tests all infinitely recurse, bringing my system down into swapping hell.
llvm-svn: 139192
2011-09-06 22:08:18 +00:00
Jim Grosbach
c0aaa747a1
Thumb2 parsing and encoding for DBG.
...
llvm-svn: 139191
2011-09-06 22:06:40 +00:00
Jim Grosbach
4258d5ffba
Thumb2 parsing and encoding for CMN and CMP.
...
llvm-svn: 139188
2011-09-06 21:44:58 +00:00
Nick Lewycky
8203bcfd03
This transform only handles two-operand AddRec's. Prevent it from trying to
...
handle anything more complex. Fixes PR10383 again!
llvm-svn: 139186
2011-09-06 21:42:18 +00:00
Eli Friedman
33a078523a
Add mayLoad/mayStore markings to ARM 64-bit atomic pseudo-instructions.
...
llvm-svn: 139179
2011-09-06 20:53:37 +00:00
Jim Grosbach
45bc30cc7e
Thumb2 parsing and encoding for CLZ.
...
llvm-svn: 139177
2011-09-06 20:44:17 +00:00
Jim Grosbach
b5dcc965a7
Thumb2 parsing and encoding for CLREX.
...
llvm-svn: 139172
2011-09-06 20:27:04 +00:00
Owen Anderson
23820ebb17
Port more encoding tests over to Thumb2 decoding tests.
...
llvm-svn: 139171
2011-09-06 20:26:34 +00:00
Andrew Trick
8145f71bab
Add -verify-indvars for imperfect SCEV trip count verification after indvars.
...
llvm-svn: 139169
2011-09-06 20:20:38 +00:00
Jim Grosbach
3399db069a
Thumb2 parsing and encoding for CDP/CDP2.
...
llvm-svn: 139168
2011-09-06 20:12:23 +00:00
Rafael Espindola
9182560b8f
Fix comment. Noticed by Duncan.
...
llvm-svn: 139161
2011-09-06 19:29:31 +00:00
Duncan Sands
d1311488fe
Add codegen support for vector select (in the IR this means a select
...
with a vector condition); such selects become VSELECT codegen nodes.
This patch also removes VSETCC codegen nodes, unifying them with SETCC
nodes (codegen was actually often using SETCC for vector SETCC already).
This ensures that various DAG combiner optimizations kick in for vector
comparisons. Passes dragonegg bootstrap with no testsuite regressions
(nightly testsuite as well as "make check-all"). Patch mostly by
Nadav Rotem.
llvm-svn: 139159
2011-09-06 19:07:46 +00:00
Evan Cheng
891e9696ea
Fix fall outs from my recent change on how carry bit is modeled during isel.
...
Now the 'S' instructions, e.g. ADDS, treat S bit as optional operand as well.
Also fix isel hook to correctly set the optional operand.
rdar://10073745
llvm-svn: 139157
2011-09-06 18:52:20 +00:00
Devang Patel
1366637777
Use IRBuilder.
...
llvm-svn: 139156
2011-09-06 18:49:53 +00:00
Jim Grosbach
86c318e475
ARM .code directive should always go to the streamer.
...
Even if there's no mode switch performed, the .code directive should still
be sent to the output streamer. Otherwise, for example, an output asm stream
is not equivalent to the input stream which generated it (a dependency on
the input target triple arm vs. thumb is introduced which was not originally
there).
llvm-svn: 139155
2011-09-06 18:46:23 +00:00
Rafael Espindola
9d9df4bc1a
Fix style issues and typos found by Duncan.
...
llvm-svn: 139154
2011-09-06 18:43:08 +00:00
Bill Wendling
32608b1900
As a first step, emit both the compact unwind and CIE/FDEs for a function.
...
llvm-svn: 139152
2011-09-06 18:37:11 +00:00
Owen Anderson
ca0326a423
Try again at r138809 (make DSE more aggressive in removing dead stores at the end of a function), now with less deleting stores before memcpy's.
...
llvm-svn: 139150
2011-09-06 18:14:09 +00:00
Jakob Stoklund Olesen
7994269719
Atomic pseudos don't use (as in read) CPSR. They clobber it.
...
llvm-svn: 139148
2011-09-06 17:40:35 +00:00
Devang Patel
2c2dd9114e
Now, named mdnode llvm.dbg.cu keeps track of all compile units in a module. Update DebugInfoFinder to collect compile units from llvm.dbg.cu.
...
llvm-svn: 139147
2011-09-06 17:40:08 +00:00
Duncan Sands
6939ae53ac
Split the init.trampoline intrinsic, which currently combines GCC's
...
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC. While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function. To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function. Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!). Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC. Patch mostly by Sanjoy Das.
llvm-svn: 139140
2011-09-06 13:37:06 +00:00
Nick Lewycky
e1c0b41d41
Fix typo in comment again.
...
llvm-svn: 139139
2011-09-06 07:02:40 +00:00
Nick Lewycky
700f71a0ac
Apparently we compile the code, not the comments. Thanks Eli!
...
llvm-svn: 139138
2011-09-06 06:56:00 +00:00
Nick Lewycky
4add6eec38
Fix typo in comment.
...
llvm-svn: 139137
2011-09-06 06:46:01 +00:00
Nick Lewycky
0c9df5d6c2
Nope! I had it right the first time. Revert the operative part of r139135 and
...
add more showing of my work.
llvm-svn: 139136
2011-09-06 06:39:54 +00:00
Nick Lewycky
39b165bb7d
Fix flipped sign. While there, show my math.
...
llvm-svn: 139135
2011-09-06 05:33:18 +00:00
Nick Lewycky
fdc650ea7a
No no no, fix typo properly!
...
llvm-svn: 139134
2011-09-06 05:08:09 +00:00
Nick Lewycky
3823432a57
The logic inside getMulExpr to simplify {a,+,b}*{c,+,d} was wrong, which was
...
visible given a=b=c=d=1, on iteration #1 (the second iteration). Replace it with
correct math. Fixes PR10383!
llvm-svn: 139133
2011-09-06 05:05:14 +00:00
Nick Lewycky
18c0b01a56
Revert r139126 due to selfhost failures reported by buildbots.
...
llvm-svn: 139130
2011-09-06 02:43:13 +00:00
Nick Lewycky
30dcc754df
Teach SCEV to report a max backedge count in one interesting case in
...
HowFarToZero; the case for a canonical loop.
llvm-svn: 139126
2011-09-05 23:25:16 +00:00
Nick Lewycky
9b5a242546
Add a new MC bit for NaCl (Native Client) mode. NaCl requires that certain
...
instructions are more aligned than the CPU requires, and adds some additional
directives, to follow in future patches. Patch by David Meyer!
llvm-svn: 139125
2011-09-05 21:51:43 +00:00
Nick Lewycky
cf82a5a673
Update the C++ backend to use the new ArrayRef'ified APIs. Patch by arrowdodger!
...
llvm-svn: 139124
2011-09-05 18:50:59 +00:00
Nick Lewycky
c10a9bb850
Fix typo in comment.
...
llvm-svn: 139122
2011-09-05 18:35:03 +00:00
Benjamin Kramer
ec933b857e
InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the original value if types don't match.
...
Fixes clang selfhost.
llvm-svn: 139120
2011-09-05 18:16:19 +00:00
Duncan Sands
d883f9f371
Delete trivial landing pads that just continue unwinding the caught
...
exception.
llvm-svn: 139117
2011-09-05 12:57:57 +00:00
Duncan Sands
a74d10bb60
Add some simple insertvalue simplifications, for the purpose of cleaning
...
up do-nothing exception handling code produced by dragonegg.
llvm-svn: 139113
2011-09-05 06:52:48 +00:00
Benjamin Kramer
0c1a5d2067
Use canonical forms for the branch probability zero heutistic.
...
- Drop support for X >u 0, it's equivalent to X != 0 and should be canonicalized into the latter.
- Add X < 1 -> unlikely, which is what instcombine canonicalizes X <= 0 into.
- Add X > -1 -> likely, which is what instcombine canonicalizes X >= 0 into.
llvm-svn: 139110
2011-09-04 23:53:04 +00:00
Chandler Carruth
b853fbc5d2
As a (rather delayed) followup to r136738 which stopped building the
...
edis shared library in the Makefile build, also stop building it in the
CMake build.
Patch by arrowdodger!
llvm-svn: 139108
2011-09-04 23:32:05 +00:00
Chandler Carruth
91b391f5e1
Complete the removal of FindBison from CMake. Noticed this when browsing
...
some CMake patch backlog...
llvm-svn: 139107
2011-09-04 23:29:12 +00:00
Chandler Carruth
41b078f160
Update the CMake documentation to the correct variables.
...
Patch by arrowdodger!
llvm-svn: 139106
2011-09-04 23:24:13 +00:00