Devang Patel
71554b8e3c
Handle multiple split conditions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40941 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 21:02:17 +00:00
Reid Spencer
eb9422b19d
Make it clear that getSTDIN returns null when stdin is empty.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40940 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 20:02:20 +00:00
Reid Spencer
2372ccc111
Make getSTDIN return null if the standard input is empty, as the header file
...
documentation implies and as its uses depend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40939 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 20:01:58 +00:00
Reid Spencer
53424ad141
Allow the filename "-" to be a place holder for stdin. This allows directing
...
stdin through llvm-ld and llvm-link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40938 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 19:52:29 +00:00
Owen Anderson
838014ee5b
Global values also don't undead-ify pointers in our dead alloca's set.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40936 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 19:12:31 +00:00
Owen Anderson
362bb52108
Make handleEndBlock significantly faster with one trivial improvement,
...
and one hack to avoid hitting a bad case when the alias analysis is imprecise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40935 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 18:38:28 +00:00
Owen Anderson
df359c264e
Small improvement: if a function doesn't access memory, we don't need to scan
...
it for potentially undeading pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40933 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 17:58:56 +00:00
Owen Anderson
bb3abf41a8
Add some comments, remove a dead argument, and simplify some control flow.
...
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40932 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 17:50:09 +00:00
Chris Lattner
79e038a16d
eliminate redundant conditions from the signless types conversion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40927 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 16:19:57 +00:00
Chris Lattner
a099b6c7bb
Handle functions with no name better.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40926 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 16:07:23 +00:00
Evan Cheng
24c2e5cf7e
Adding kill info to val#.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40925 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 07:03:29 +00:00
Chris Lattner
c5f6a1f9d6
significantly speed up constant folding of calls (and thus all clients that use
...
ConstantFoldInstruction on calls) by avoiding Value::getName(). getName() constructs
and returns an std::string, which does heap allocation stuff. This slightly speeds up
instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40924 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 06:55:43 +00:00
Chris Lattner
de0e42d3c0
Speed up updateDFSNumbers with two observations:
...
1. domtree is a tree, not a graph. There is no need to avoid revisiting nodes with a set.
2. the worklist can contain the child iterator pointers so we don't get N^2 rescanning of children.
This speeds up updateDFSNumbers significantly, making it basically free. On the testcase in PR1432,
this speeds up loopsimplify by another 3x, dropping it from the 12th most expensive pass to the to
the 30th. :) It used to be #1 .
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40923 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 06:24:20 +00:00
Owen Anderson
c182f17aed
A few more small cleanups.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40922 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 06:06:02 +00:00
Evan Cheng
a141cfe5b2
Clean up and bug fix.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40921 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 05:56:18 +00:00
Chris Lattner
3e089ae0b8
reimplement dfs number computation to be significantly faster. This speeds up
...
natural loop canonicalization (which does many cfg xforms) by 4.3x, for
example. This also fixes a bug in postdom dfnumber computation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40920 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 05:51:24 +00:00
Owen Anderson
6ca4cb3755
First round of cleanups from Chris' feedback.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40919 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 04:52:29 +00:00
Evan Cheng
8df786012d
- Each val# can have multiple kills.
...
- Fix some minor bugs related to special markers on val# def. ~0U means
undefined, ~1U means dead val#.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40916 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 03:00:28 +00:00
Devang Patel
6a2bfdaab6
Embrace patch review feedback.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40915 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 01:51:27 +00:00
Evan Cheng
51cbf3c980
Remove a dead assertion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40914 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-08 01:00:21 +00:00
Evan Cheng
a8d94f1315
- LiveInterval value#'s now have 3 components: def instruction #,
...
kill instruction #, and source register number (iff the value# is defined by a
copy).
- Now def instruction # is set for every value#, not just for copy defined ones.
- Update some outdated code related inactive live ranges.
- Kill info not yet set. That's next patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 23:49:57 +00:00
Devang Patel
002fe25dd7
Fix new compare instruction's signness. Caught by Chris during review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40912 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 23:17:52 +00:00
Devang Patel
a9e9286630
Fix comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40911 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 23:16:03 +00:00
Owen Anderson
a37226af81
Don't insert nearly as many redundant phi nodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40909 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 23:12:31 +00:00
Dale Johannesen
84109cd015
Fix spelling of mtvscr and mfvscr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40908 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 23:08:00 +00:00
Dale Johannesen
cdbe4d3ebe
Long double patch 8 of N: make it partially work in
...
SSE mode (all but conversions <-> other FP types, I think):
>>Do not mark all-80-bit operations as "Requires[FPStack]"
(which really means "not SSE").
>>Refactor load-and-extend to facilitate this.
>>Update comments.
>>Handle long double in SSE when computing FP_REG_KILL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40906 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 20:29:26 +00:00
Reid Spencer
31cac2e04a
Who thought up this crazy formatting scheme?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40905 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:57:36 +00:00
Reid Spencer
d5d9e6f0c9
Okay, over/back tags don't next.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40904 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:48:56 +00:00
Devang Patel
8431a1cbcc
Use eraseFromParent().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40903 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:45:35 +00:00
Reid Spencer
3baa3aac1b
Try an indent level for better formatting.
...
Add the -version option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40902 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:43:48 +00:00
Reid Spencer
acafa2d4c2
Add the code generation options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40900 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 17:12:43 +00:00
David Greene
ba1a750f1d
Make this code more efficient
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:57:55 +00:00
David Greene
32fe3de0fe
Fix comment typo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40898 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:52:03 +00:00
David Greene
8ff18e9c99
Fix GLIBCXX_DEBUG error triggered by incrementing erased iterator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40897 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:44:38 +00:00
David Greene
7e23146ab9
Add a missing forward declaration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40896 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:34:05 +00:00
Reid Spencer
0ecfb59644
Rearrange options into sections and add the last floating point related option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40895 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:29:57 +00:00
Reid Spencer
b7a54b9b72
Add the -disable-excess-fp-precision option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40894 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:23:42 +00:00
Reid Spencer
7223f02755
Add another missing option.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40893 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:21:52 +00:00
Reid Spencer
2c8a748bbe
Add some more missing options.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40892 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 16:11:57 +00:00
Reid Spencer
f0f4dae3b3
Remove the -f option which is no longer supported, but add the -fake-argv0
...
option which is similar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40891 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 15:48:16 +00:00
Reid Spencer
2c45228651
Describe the global/local naming convention.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40890 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 14:34:28 +00:00
Nick Lewycky
f48a88054a
Add reference to problem report.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40889 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 12:27:03 +00:00
Evan Cheng
0ff94f7fcc
Initial JIT support for ARM by Raul Fernandes Herbster.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40887 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 01:37:15 +00:00
Dale Johannesen
a996d52e37
Long double patch 7 of N, unless I lost count:).
...
Last x87 bits for full functionality (not
thoroughly tested, and long doubles do not work
in SSE modes at all - use -mcpu=i486 for now)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40886 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 01:17:37 +00:00
Owen Anderson
371d68958f
Get rid of unnecessary #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40885 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 00:38:16 +00:00
Owen Anderson
dbbe816757
Clean up a bunch of caching stuff in memdep. This reduces the time to run GVN
...
on 403.gcc from ~15s to ~10s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40884 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 00:33:45 +00:00
Devang Patel
fee76bd9ba
Begin loop index split pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40883 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-07 00:25:56 +00:00
Owen Anderson
8f35315798
Improve the accuracy of memdep for determining the dependencies of loads.
...
This brings GVN to parity with GCSE+LoadVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40882 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-06 23:26:03 +00:00
Dale Johannesen
9989a65693
Replace 4-line function with 10-line version per review comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40881 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-06 22:10:35 +00:00
Chris Lattner
6f427580e0
remove #if 0 code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40880 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-06 22:03:19 +00:00