Chris Lattner
746b4b7f2a
remove condprop testcases.
...
llvm-svn: 86804
2009-11-11 05:25:16 +00:00
Daniel Dunbar
da387a1c25
Add StringRef::split(StringRef), to complement StringRef::split(char).
...
llvm-svn: 86803
2009-11-11 05:19:11 +00:00
Rafael Espindola
cea17df39c
Remove dead code.
...
llvm-svn: 86802
2009-11-11 04:10:24 +00:00
Sandeep Patel
a167903217
Show command-line args and features passed into backend in debug output. Approved by Evan Cheng.
...
llvm-svn: 86797
2009-11-11 03:23:46 +00:00
Daniel Dunbar
def4580a85
Add missing run line. Devang, please check.
...
llvm-svn: 86795
2009-11-11 03:10:03 +00:00
Daniel Dunbar
d29c05945a
Fix -Asserts warning.
...
llvm-svn: 86794
2009-11-11 03:09:50 +00:00
Jim Grosbach
d7aab5323b
The TBB and TBH instructions for Thumb2 are really handy for jump tables, but
...
can only branch forward. To best take advantage of them, we'd like to adjust
the basic blocks around a bit when reasonable. This patch puts basics in place
to do that, with a super-simple algorithm for backwards jump table targets that
creates a new branch after the jump table which branches backwards. Real
heuristics for reordering blocks or other modifications rather than inserting
branches will follow.
llvm-svn: 86791
2009-11-11 02:47:19 +00:00
Chris Lattner
b45381c3f0
stub out some LazyValueInfo interfaces, and have JumpThreading
...
start using them in a trivial way when -enable-jump-threading-lvi
is passed. enable-jump-threading-lvi will be my playground for
awhile.
llvm-svn: 86789
2009-11-11 02:08:33 +00:00
Bill Wendling
a6d7a411d3
Fix test to work on every platform.
...
llvm-svn: 86786
2009-11-11 01:44:22 +00:00
Bill Wendling
8718dfbbaa
Fix test to work on every platform.
...
llvm-svn: 86785
2009-11-11 01:41:32 +00:00
Devang Patel
496147ef73
XFAIL for now.
...
llvm-svn: 86784
2009-11-11 01:41:10 +00:00
Bill Wendling
33ab3cd1bc
Make sure that the exception handling data has the same visibility as the
...
function it's generated for.
llvm-svn: 86779
2009-11-11 01:24:59 +00:00
Daniel Dunbar
aa5d256b19
Add Triple::str() which returns the contents of the Triple as a string, as a more readable alternative to getTriple().
...
llvm-svn: 86773
2009-11-11 00:43:14 +00:00
Devang Patel
b3f18462ca
Do not assume first function scope seen represents current function.
...
llvm-svn: 86771
2009-11-11 00:31:36 +00:00
Daniel Dunbar
16a5387db2
Add From arguments to StringRef search functions, and tweak doxyments.
...
Also, add unittests for find_first_of and find_first_not_of.
llvm-svn: 86770
2009-11-11 00:28:53 +00:00
Daniel Dunbar
9789af1797
llvm-gcc/clang don't (won't?) need this hack.
...
llvm-svn: 86769
2009-11-11 00:28:38 +00:00
Chris Lattner
47b6f3432e
oops, didn't mean to commit this, no harm, but add a todoops, didn't mean to commit this, no harm, but add a todoo
...
llvm-svn: 86768
2009-11-11 00:27:54 +00:00
Chris Lattner
6c04051d2a
Stub out a new lazy value info pass, which will eventually
...
vend value constraint information to the optimizer.
llvm-svn: 86767
2009-11-11 00:22:30 +00:00
Chris Lattner
c1709a798a
add a fixme
...
llvm-svn: 86766
2009-11-11 00:21:58 +00:00
Chris Lattner
c60b41d336
remove redundant foward declaration. This function is already in
...
Analysis/Passes.h
llvm-svn: 86765
2009-11-11 00:21:21 +00:00
Devang Patel
eb421ea5de
While creating DbgScopes, do not forget parent scope.
...
llvm-svn: 86763
2009-11-11 00:18:40 +00:00
Evan Cheng
ea76ec6720
Block terminator may be a switch.
...
llvm-svn: 86761
2009-11-11 00:00:21 +00:00
Chris Lattner
1f7f78ea94
jump threading does everything that condprop does any more. This passes
...
bootstrap on darwin i386.
llvm-svn: 86758
2009-11-10 23:54:10 +00:00
Chris Lattner
bc9996444e
add a note
...
llvm-svn: 86756
2009-11-10 23:47:45 +00:00
Chris Lattner
67aac80393
I did this a week or two ago
...
llvm-svn: 86754
2009-11-10 23:40:49 +00:00
Devang Patel
06e690849a
Ignore variable if scope info is not available.
...
llvm-svn: 86753
2009-11-10 23:20:04 +00:00
Bill Wendling
ff705446e1
Test this on Darwin only.
...
llvm-svn: 86752
2009-11-10 23:18:33 +00:00
Dale Johannesen
20e1cd09ba
Emit correct code when making a ConstantPool entry for a vector
...
constant whose component type is not a legal type for the target.
(If the target ConstantPool cannot handle this type either, it has
an opportunity to merge elements. In practice any target with
8-bit bytes must support i8 *as data*). 7320806 (partial).
llvm-svn: 86751
2009-11-10 23:16:41 +00:00
Devang Patel
5c983cb2ab
Implement support to debug inlined functions.
...
llvm-svn: 86748
2009-11-10 23:06:00 +00:00
Chris Lattner
958f41d9a4
in -dot-cfg and -dot-cfg-only, when rendering switch instructions,
...
put the switch value in the successor boxes like we put T/F for branches.
llvm-svn: 86747
2009-11-10 22:56:15 +00:00
Chris Lattner
f66a81aecd
implement a TODO by teaching jump threading about "xor x, 1".
...
llvm-svn: 86739
2009-11-10 22:39:16 +00:00
Chris Lattner
ec4264fbb0
move some generally useful functions out of jump threading
...
into libanalysis and transformutils.
llvm-svn: 86735
2009-11-10 22:26:15 +00:00
Dan Gohman
b937f9d590
Don't mark conditional branch instructions as control barriers.
...
llvm-svn: 86732
2009-11-10 22:16:57 +00:00
Bill Wendling
1176227990
Modify how the prologue encoded the "move" information for the FDE. GCC
...
generates a sequence similar to this:
__Z4funci:
LFB2:
mflr r0
LCFI0:
stmw r30,-8(r1)
LCFI1:
stw r0,8(r1)
LCFI2:
stwu r1,-80(r1)
LCFI3:
mr r30,r1
LCFI4:
where LCFI3 and LCFI4 are used by the FDE to indicate what the FP, LR, and other
things are. We generated something more like this:
Leh_func_begin1:
mflr r0
stw r31, 20(r1)
stw r0, 8(r1)
Llabel1:
stwu r1, -80(r1)
Llabel2:
mr r31, r1
Note that we are missing the "mr" instruction. This patch makes it more like the
GCC output.
llvm-svn: 86729
2009-11-10 22:14:04 +00:00
Devang Patel
e70bec27b0
Process InlinedAt location info.
...
Update InsertDeclare to return newly inserted llvm.dbg.declare intrinsic.
llvm-svn: 86727
2009-11-10 22:05:35 +00:00
Chris Lattner
a163be92fc
fix a crash in SCCP handling extractvalue of an array, pointed out and
...
tracked down by Stephan Reiter!
llvm-svn: 86726
2009-11-10 22:02:09 +00:00
Jakob Stoklund Olesen
b92c9347ba
Teach PHIElimination to split critical edges when -split-phi-edges is enabled.
...
Critical edges leading to a PHI node are split when the PHI source variable is
live out from the predecessor block. This help the coalescer eliminate more
PHI joins.
llvm-svn: 86725
2009-11-10 22:01:05 +00:00
Jakob Stoklund Olesen
35918309f2
Refactoring: Extract method PHIElimination::isLiveOut().
...
Clean up some whitespace.
No functional changes.
llvm-svn: 86724
2009-11-10 22:00:56 +00:00
Chris Lattner
f48b199c43
improve comment.
...
llvm-svn: 86723
2009-11-10 21:45:09 +00:00
Chris Lattner
fca84b3dff
Make jump threading eliminate blocks that just contain phi nodes,
...
debug intrinsics, and an unconditional branch when possible. This
reuses the TryToSimplifyUncondBranchFromEmptyBlock function split
out of simplifycfg.
llvm-svn: 86722
2009-11-10 21:40:01 +00:00
Evan Cheng
f5e85bec73
Generalize lsr code that optimize loop to count down towards zero.
...
llvm-svn: 86715
2009-11-10 21:14:05 +00:00
Dan Gohman
d7b00c4c8d
Optimize test more.
...
llvm-svn: 86714
2009-11-10 21:02:18 +00:00
Victor Hernandez
70963992b8
make this handle redefinition of malloc function with different prototype correctly
...
llvm-svn: 86712
2009-11-10 19:53:28 +00:00
Evan Cheng
58fbf886bb
Change Thumb1 address mode printing, instead of
...
[r0, #2 * 4]
Now
[r0, #8 ]
This makes Thumb2 assembly more uniform and frankly the scale doesn't add much.
llvm-svn: 86707
2009-11-10 19:48:13 +00:00
Evan Cheng
2c0fc2e713
Add a comment.
...
llvm-svn: 86706
2009-11-10 19:44:56 +00:00
Duncan Sands
1053bb18c6
Add defensive break.
...
llvm-svn: 86705
2009-11-10 19:36:40 +00:00
Daniel Dunbar
d8e09f2f13
Add a monstrous hack to improve X86ISelDAGToDAG compile time.
...
- Force NDEBUG on in any Release build. This drops the compile time to ~100s
from ~600s, in Release mode.
- This may just be a temporary workaround, I don't know the true nature of the
gcc-4.2 compile time performance problem.
llvm-svn: 86695
2009-11-10 18:24:37 +00:00
Duncan Sands
bfba3451b2
Fix obvious typo.
...
llvm-svn: 86694
2009-11-10 18:21:37 +00:00
Chris Lattner
dc0722e39a
clarify logic.
...
llvm-svn: 86689
2009-11-10 17:00:47 +00:00
Douglas Gregor
852c7d16df
CMake: Add Darwin-specific linker flags for building loadable modules
...
llvm-svn: 86684
2009-11-10 15:30:33 +00:00