oota-llvm.git
17 years agoTerminate an error message with a newline.
Reid Spencer [Wed, 8 Aug 2007 21:17:59 +0000 (21:17 +0000)]
Terminate an error message with a newline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40943 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoHandle multiple split conditions.
Devang Patel [Wed, 8 Aug 2007 21:02:17 +0000 (21:02 +0000)]
Handle multiple split conditions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40941 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake it clear that getSTDIN returns null when stdin is empty.
Reid Spencer [Wed, 8 Aug 2007 20:02:20 +0000 (20:02 +0000)]
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

17 years agoMake getSTDIN return null if the standard input is empty, as the header file
Reid Spencer [Wed, 8 Aug 2007 20:01:58 +0000 (20:01 +0000)]
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

17 years agoAllow the filename "-" to be a place holder for stdin. This allows directing
Reid Spencer [Wed, 8 Aug 2007 19:52:29 +0000 (19:52 +0000)]
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

17 years agoGlobal values also don't undead-ify pointers in our dead alloca's set.
Owen Anderson [Wed, 8 Aug 2007 19:12:31 +0000 (19:12 +0000)]
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

17 years agoMake handleEndBlock significantly faster with one trivial improvement,
Owen Anderson [Wed, 8 Aug 2007 18:38:28 +0000 (18:38 +0000)]
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

17 years agoSmall improvement: if a function doesn't access memory, we don't need to scan
Owen Anderson [Wed, 8 Aug 2007 17:58:56 +0000 (17:58 +0000)]
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

17 years agoAdd some comments, remove a dead argument, and simplify some control flow.
Owen Anderson [Wed, 8 Aug 2007 17:50:09 +0000 (17:50 +0000)]
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

17 years agoeliminate redundant conditions from the signless types conversion.
Chris Lattner [Wed, 8 Aug 2007 16:19:57 +0000 (16:19 +0000)]
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

17 years agoHandle functions with no name better.
Chris Lattner [Wed, 8 Aug 2007 16:07:23 +0000 (16:07 +0000)]
Handle functions with no name better.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40926 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdding kill info to val#.
Evan Cheng [Wed, 8 Aug 2007 07:03:29 +0000 (07:03 +0000)]
Adding kill info to val#.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40925 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agosignificantly speed up constant folding of calls (and thus all clients that use
Chris Lattner [Wed, 8 Aug 2007 06:55:43 +0000 (06:55 +0000)]
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

17 years agoSpeed up updateDFSNumbers with two observations:
Chris Lattner [Wed, 8 Aug 2007 06:24:20 +0000 (06:24 +0000)]
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

17 years agoA few more small cleanups.
Owen Anderson [Wed, 8 Aug 2007 06:06:02 +0000 (06:06 +0000)]
A few more small cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40922 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoClean up and bug fix.
Evan Cheng [Wed, 8 Aug 2007 05:56:18 +0000 (05:56 +0000)]
Clean up and bug fix.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40921 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoreimplement dfs number computation to be significantly faster. This speeds up
Chris Lattner [Wed, 8 Aug 2007 05:51:24 +0000 (05:51 +0000)]
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

17 years agoFirst round of cleanups from Chris' feedback.
Owen Anderson [Wed, 8 Aug 2007 04:52:29 +0000 (04:52 +0000)]
First round of cleanups from Chris'  feedback.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40919 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago- Each val# can have multiple kills.
Evan Cheng [Wed, 8 Aug 2007 03:00:28 +0000 (03:00 +0000)]
- 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

17 years agoEmbrace patch review feedback.
Devang Patel [Wed, 8 Aug 2007 01:51:27 +0000 (01:51 +0000)]
Embrace patch review feedback.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40915 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove a dead assertion.
Evan Cheng [Wed, 8 Aug 2007 01:00:21 +0000 (01:00 +0000)]
Remove a dead assertion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40914 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago- LiveInterval value#'s now have 3 components: def instruction #,
Evan Cheng [Tue, 7 Aug 2007 23:49:57 +0000 (23:49 +0000)]
- 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

17 years agoFix new compare instruction's signness. Caught by Chris during review.
Devang Patel [Tue, 7 Aug 2007 23:17:52 +0000 (23:17 +0000)]
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

17 years agoFix comment.
Devang Patel [Tue, 7 Aug 2007 23:16:03 +0000 (23:16 +0000)]
Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40911 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't insert nearly as many redundant phi nodes.
Owen Anderson [Tue, 7 Aug 2007 23:12:31 +0000 (23:12 +0000)]
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

17 years agoFix spelling of mtvscr and mfvscr.
Dale Johannesen [Tue, 7 Aug 2007 23:08:00 +0000 (23:08 +0000)]
Fix spelling of mtvscr and mfvscr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40908 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoLong double patch 8 of N: make it partially work in
Dale Johannesen [Tue, 7 Aug 2007 20:29:26 +0000 (20:29 +0000)]
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

17 years agoWho thought up this crazy formatting scheme?
Reid Spencer [Tue, 7 Aug 2007 17:57:36 +0000 (17:57 +0000)]
Who thought up this crazy formatting scheme?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40905 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoOkay, over/back tags don't next.
Reid Spencer [Tue, 7 Aug 2007 17:48:56 +0000 (17:48 +0000)]
Okay, over/back tags don't next.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40904 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse eraseFromParent().
Devang Patel [Tue, 7 Aug 2007 17:45:35 +0000 (17:45 +0000)]
Use eraseFromParent().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40903 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoTry an indent level for better formatting.
Reid Spencer [Tue, 7 Aug 2007 17:43:48 +0000 (17:43 +0000)]
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

17 years agoAdd the code generation options.
Reid Spencer [Tue, 7 Aug 2007 17:12:43 +0000 (17:12 +0000)]
Add the code generation options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40900 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake this code more efficient
David Greene [Tue, 7 Aug 2007 16:57:55 +0000 (16:57 +0000)]
Make this code more efficient

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40899 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix comment typo
David Greene [Tue, 7 Aug 2007 16:52:03 +0000 (16:52 +0000)]
Fix comment typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40898 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix GLIBCXX_DEBUG error triggered by incrementing erased iterator.
David Greene [Tue, 7 Aug 2007 16:44:38 +0000 (16:44 +0000)]
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

17 years agoAdd a missing forward declaration.
David Greene [Tue, 7 Aug 2007 16:34:05 +0000 (16:34 +0000)]
Add a missing forward declaration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40896 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRearrange options into sections and add the last floating point related option.
Reid Spencer [Tue, 7 Aug 2007 16:29:57 +0000 (16:29 +0000)]
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

17 years agoAdd the -disable-excess-fp-precision option.
Reid Spencer [Tue, 7 Aug 2007 16:23:42 +0000 (16:23 +0000)]
Add the -disable-excess-fp-precision option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40894 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd another missing option.
Reid Spencer [Tue, 7 Aug 2007 16:21:52 +0000 (16:21 +0000)]
Add another missing option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40893 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd some more missing options.
Reid Spencer [Tue, 7 Aug 2007 16:11:57 +0000 (16:11 +0000)]
Add some more missing options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40892 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove the -f option which is no longer supported, but add the -fake-argv0
Reid Spencer [Tue, 7 Aug 2007 15:48:16 +0000 (15:48 +0000)]
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

17 years agoDescribe the global/local naming convention.
Reid Spencer [Tue, 7 Aug 2007 14:34:28 +0000 (14:34 +0000)]
Describe the global/local naming convention.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40890 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoAdd reference to problem report.
Nick Lewycky [Tue, 7 Aug 2007 12:27:03 +0000 (12:27 +0000)]
Add reference to problem report.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40889 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoInitial JIT support for ARM by Raul Fernandes Herbster.
Evan Cheng [Tue, 7 Aug 2007 01:37:15 +0000 (01:37 +0000)]
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

17 years agoLong double patch 7 of N, unless I lost count:).
Dale Johannesen [Tue, 7 Aug 2007 01:17:37 +0000 (01:17 +0000)]
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

17 years agoGet rid of unnecessary #include.
Owen Anderson [Tue, 7 Aug 2007 00:38:16 +0000 (00:38 +0000)]
Get rid of unnecessary #include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40885 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoClean up a bunch of caching stuff in memdep. This reduces the time to run GVN
Owen Anderson [Tue, 7 Aug 2007 00:33:45 +0000 (00:33 +0000)]
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

17 years agoBegin loop index split pass.
Devang Patel [Tue, 7 Aug 2007 00:25:56 +0000 (00:25 +0000)]
Begin loop index split pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40883 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImprove the accuracy of memdep for determining the dependencies of loads.
Owen Anderson [Mon, 6 Aug 2007 23:26:03 +0000 (23:26 +0000)]
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

17 years agoReplace 4-line function with 10-line version per review comment.
Dale Johannesen [Mon, 6 Aug 2007 22:10:35 +0000 (22:10 +0000)]
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

17 years agoremove #if 0 code.
Chris Lattner [Mon, 6 Aug 2007 22:03:19 +0000 (22:03 +0000)]
remove #if 0 code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40880 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove #if 0 code.
Chris Lattner [Mon, 6 Aug 2007 22:01:53 +0000 (22:01 +0000)]
remove #if 0 code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40879 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMove lengthy conditional down 1 level per review comment.
Dale Johannesen [Mon, 6 Aug 2007 21:48:35 +0000 (21:48 +0000)]
Move lengthy conditional down 1 level per review comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40878 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoGet X86 long double calling convention to work
Dale Johannesen [Mon, 6 Aug 2007 21:31:06 +0000 (21:31 +0000)]
Get X86 long double calling convention to work
(on Darwin, anyway).  Fix some table omissions for
LD arithmetic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40877 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoregenerate
Chris Lattner [Mon, 6 Aug 2007 21:00:46 +0000 (21:00 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40875 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix PR1577, a crash on invalid bug.
Chris Lattner [Mon, 6 Aug 2007 21:00:37 +0000 (21:00 +0000)]
Fix PR1577, a crash on invalid bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40874 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThis resolves a regression of BasicAA which failed to find any memory information...
Chandler Carruth [Mon, 6 Aug 2007 20:57:16 +0000 (20:57 +0000)]
This resolves a regression of BasicAA which failed to find any memory information for overloaded intrinsics (PR1600). This resolves that issue, and improves the matching scheme to use a BitVector rather than a binary search.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40872 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoThis fixes resizing issues with BitVectors. It ensures that the BitWord type and...
Chandler Carruth [Mon, 6 Aug 2007 20:52:17 +0000 (20:52 +0000)]
This fixes resizing issues with BitVectors. It ensures that the BitWord type and type size is always used, and ensures completely correct clearing of unused high bits, and setting of bits when resizing. It should resolve PR1563.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40871 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoIt's safe to fold not of fcmp.
Nick Lewycky [Mon, 6 Aug 2007 20:04:16 +0000 (20:04 +0000)]
It's safe to fold not of fcmp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40870 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix the dates on these tests. It's not September yet. Thanks Reid!
Nick Lewycky [Mon, 6 Aug 2007 20:00:11 +0000 (20:00 +0000)]
Fix the dates on these tests. It's not September yet. Thanks Reid!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40869 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake 80-bit store maintain simulated FP stack correctly.
Dale Johannesen [Mon, 6 Aug 2007 19:50:32 +0000 (19:50 +0000)]
Make 80-bit store maintain simulated FP stack correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40868 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoLet scalar-evolution analyze loops with an unsigned comparison for the exit
Nick Lewycky [Mon, 6 Aug 2007 19:21:00 +0000 (19:21 +0000)]
Let scalar-evolution analyze loops with an unsigned comparison for the exit
condition. Fixes 1597.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40867 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDon't assume it's safe to transform a loop just because it's dominated by any
Nick Lewycky [Mon, 6 Aug 2007 18:33:46 +0000 (18:33 +0000)]
Don't assume it's safe to transform a loop just because it's dominated by any
comparison. Fixes bug 1598.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40866 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago@verbatim needs to be on a line by itself.
Reid Spencer [Mon, 6 Aug 2007 17:10:29 +0000 (17:10 +0000)]
@verbatim needs to be on a line by itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40865 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a regression compiling 2005-05-11-Popcount-ffs-fls with the CBE,
Chris Lattner [Mon, 6 Aug 2007 16:36:18 +0000 (16:36 +0000)]
Fix a regression compiling 2005-05-11-Popcount-ffs-fls with the CBE,
introduced by chandler's patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40864 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoImplement review feedback. No functionality change.
Christopher Lamb [Mon, 6 Aug 2007 16:33:56 +0000 (16:33 +0000)]
Implement review feedback. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40863 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoMake this code more efficient.
David Greene [Mon, 6 Aug 2007 15:09:17 +0000 (15:09 +0000)]
Make this code more efficient.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40861 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoremove some dead lines
Chris Lattner [Mon, 6 Aug 2007 06:21:06 +0000 (06:21 +0000)]
remove some dead lines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40859 91177308-0d34-0410-b5e6-96231b3b80d8

17 years ago1. Random tidiness cleanups
Chris Lattner [Mon, 6 Aug 2007 06:19:47 +0000 (06:19 +0000)]
1. Random tidiness cleanups
2. Make domtree printing print dfin/dfout #'s
3. Fix the Transforms/LoopSimplify/2004-04-13-LoopSimplifyUpdateDomFrontier.ll failure from last night (in DominanceFrontier::splitBlock).

w.r.t. #3, my patches last night happened to expose the bug, but this
has been broken since Owen's r35839 patch to LoopSimplify.  The code
was subsequently moved over from LoopSimplify into Dominators, carrying
the latent bug.  Fun stuff.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40858 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoupdate for new domtree dump format
Chris Lattner [Mon, 6 Aug 2007 06:17:08 +0000 (06:17 +0000)]
update for new domtree dump format

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40857 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoVarious random cleanups, add two accessors to DomTreeNode: getDFSNumIn/getDFSNumOut
Chris Lattner [Mon, 6 Aug 2007 06:15:43 +0000 (06:15 +0000)]
Various random cleanups, add two accessors to DomTreeNode: getDFSNumIn/getDFSNumOut

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40856 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpdate links to the command guide generated documentation.
Reid Spencer [Sun, 5 Aug 2007 23:43:44 +0000 (23:43 +0000)]
Update links to the command guide generated documentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40855 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix minor doxygen nits.
Reid Spencer [Sun, 5 Aug 2007 20:06:04 +0000 (20:06 +0000)]
Fix minor doxygen nits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40854 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoComment out configuration tags not supported by doxygen 1.3.9
Reid Spencer [Sun, 5 Aug 2007 19:51:03 +0000 (19:51 +0000)]
Comment out configuration tags not supported by doxygen 1.3.9

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40853 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoDocument a missing parameter.
Reid Spencer [Sun, 5 Aug 2007 19:36:39 +0000 (19:36 +0000)]
Document a missing parameter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40852 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSilence some warnings from doxygen about @param argument name not matching the
Reid Spencer [Sun, 5 Aug 2007 19:35:22 +0000 (19:35 +0000)]
Silence some warnings from doxygen about @param argument name not matching the
actual argument name of the documented function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40851 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoEscape some escapes that confuse doxygen.
Reid Spencer [Sun, 5 Aug 2007 19:33:11 +0000 (19:33 +0000)]
Escape some escapes that confuse doxygen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40850 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a doxygen directive.
Reid Spencer [Sun, 5 Aug 2007 19:27:01 +0000 (19:27 +0000)]
Fix a doxygen directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40849 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoLong double patch 4 of N: initial x87 implementation.
Dale Johannesen [Sun, 5 Aug 2007 18:49:15 +0000 (18:49 +0000)]
Long double patch 4 of N: initial x87 implementation.
Lots of problems yet but some simple things work.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40847 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoallow this to pass on ppc hosts.
Chris Lattner [Sun, 5 Aug 2007 18:48:18 +0000 (18:48 +0000)]
allow this to pass on ppc hosts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40846 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoshorten this name
Chris Lattner [Sun, 5 Aug 2007 18:45:33 +0000 (18:45 +0000)]
shorten this name

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40843 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoat the end of instcombine, explicitly clear WorklistMap.
Chris Lattner [Sun, 5 Aug 2007 08:47:58 +0000 (08:47 +0000)]
at the end of instcombine, explicitly clear WorklistMap.
This shrinks it down to something small.  On the testcase
from PR1432, this speeds up instcombine from 0.7959s to 0.5000s,
(59%)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40840 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix a bug in DenseMap::clear, where we never reset a tombstone
Chris Lattner [Sun, 5 Aug 2007 08:43:36 +0000 (08:43 +0000)]
Fix a bug in DenseMap::clear, where we never reset a tombstone
to EmptyKey.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40839 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUpgrade BasicAliasAnalysis::getModRefBehavior to not call Value::getName,
Chris Lattner [Sun, 5 Aug 2007 07:50:06 +0000 (07:50 +0000)]
Upgrade BasicAliasAnalysis::getModRefBehavior to not call Value::getName,
which dynamically allocates the string result.  This speeds up dse on the
testcase from PR1432 from 0.3781s to 0.1804s (2.1x).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40838 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWhen clearing a SmallPtrSet, if the set had a huge capacity, but the
Chris Lattner [Sun, 5 Aug 2007 07:32:14 +0000 (07:32 +0000)]
When clearing a SmallPtrSet, if the set had a huge capacity, but the
contents of the set were small, deallocate and shrink the set.  This
avoids having us to memset as much data, significantly speeding up
some pathological cases.  For example, this speeds up the verifier
from 0.3899s to 0.0763 (5.1x) on the testcase from PR1432 in a
release build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40837 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFix an iterator invalidation bug I induced.
Chris Lattner [Sun, 5 Aug 2007 00:24:30 +0000 (00:24 +0000)]
Fix an iterator invalidation bug I induced.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40830 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSwitch some std::sets to SmallPtrSet. This speeds up
Chris Lattner [Sun, 5 Aug 2007 00:15:57 +0000 (00:15 +0000)]
Switch some std::sets to SmallPtrSet.  This speeds up
domtree by 10% and postdomtree by 17%

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40829 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSwitch DomTreeNode::assignDFSNumber from using a std::set to using
Chris Lattner [Sun, 5 Aug 2007 00:10:08 +0000 (00:10 +0000)]
Switch DomTreeNode::assignDFSNumber from using a std::set to using
a smallptrset.  This speeds up domtree by about 15% and postdomtree by 20%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40828 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoSwitch the internal "Info" map from an std::map to a DenseMap. This
Chris Lattner [Sun, 5 Aug 2007 00:02:00 +0000 (00:02 +0000)]
Switch the internal "Info" map from an std::map to a DenseMap.  This
speeds up idom by about 45% and postidom by about 33%.

Some extra precautions must be taken not to invalidate densemap iterators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40827 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoswitch the DomTreeNodes and IDoms maps in idom/postidom to a
Chris Lattner [Sat, 4 Aug 2007 23:48:07 +0000 (23:48 +0000)]
switch the DomTreeNodes and IDoms maps in idom/postidom to a
DenseMap instead of an std::map.  This speeds up postdomtree
by about 25% and domtree by about 23%.  It also speeds up clients,
for example, domfrontier by 11%, mem2reg by 4% and ADCE by 6%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40826 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agorewrite the code used to construct pruned SSA form with the IDF method.
Chris Lattner [Sat, 4 Aug 2007 22:50:14 +0000 (22:50 +0000)]
rewrite the code used to construct pruned SSA form with the IDF method.
In the old way, we computed and inserted phi nodes for the whole IDF of
the definitions of the alloca, then computed which ones were dead and
removed them.

In the new method, we first compute the region where the value is live,
and use that information to only insert phi nodes that are live.  This
eliminates the need to compute liveness later, and stops the algorithm
from inserting a bunch of phis which it then later removes.

This speeds up the testcase in PR1432 from 2.00s to 0.15s (14x) in a
release build and 6.84s->0.50s (14x) in a debug build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40825 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoFactor out a whole bunch of code into it's own method.
Chris Lattner [Sat, 4 Aug 2007 21:14:29 +0000 (21:14 +0000)]
Factor out a whole bunch of code into it's own method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40824 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoUse getNumPreds(BB) instead of computing them manually. This is a very small but
Chris Lattner [Sat, 4 Aug 2007 21:06:15 +0000 (21:06 +0000)]
Use getNumPreds(BB) instead of computing them manually. This is a very small but
measurable speedup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40823 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoChange the rename pass to be "tail recursive", only adding N-1 successors
Chris Lattner [Sat, 4 Aug 2007 20:40:27 +0000 (20:40 +0000)]
Change the rename pass to be "tail recursive", only adding N-1 successors
to the worklist, and handling the last one with a 'tail call'.  This speeds
up PR1432 from 2.0578s to 2.0012s (2.8%)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40822 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agocache computation of #preds for a BB. This speeds up
Chris Lattner [Sat, 4 Aug 2007 20:24:50 +0000 (20:24 +0000)]
cache computation of #preds for a BB.  This speeds up
mem2reg from 2.0742->2.0522s on PR1432.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40821 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoreserve operand space for phi nodes when we insert them.
Chris Lattner [Sat, 4 Aug 2007 20:14:34 +0000 (20:14 +0000)]
reserve operand space for phi nodes when we insert them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40820 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agouse continue to avoid nesting, no functionality change.
Chris Lattner [Sat, 4 Aug 2007 20:07:06 +0000 (20:07 +0000)]
use continue to avoid nesting, no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40819 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoPromoting allocas with the 'single store' fastpath is
Chris Lattner [Sat, 4 Aug 2007 20:03:23 +0000 (20:03 +0000)]
Promoting allocas with the 'single store' fastpath is
faster than with the 'local to a block' fastpath.  This speeds
up PR1432 from 2.1232 to 2.0686s (2.6%)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40818 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoWhen PromoteLocallyUsedAllocas promoted allocas, it didn't remember
Chris Lattner [Sat, 4 Aug 2007 20:01:43 +0000 (20:01 +0000)]
When PromoteLocallyUsedAllocas promoted allocas, it didn't remember
to increment NumLocalPromoted, and didn't actually delete the
dead alloca, leading to an extra iteration of mem2reg.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40817 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agostd::map -> DenseMap
Chris Lattner [Sat, 4 Aug 2007 19:52:20 +0000 (19:52 +0000)]
std::map -> DenseMap

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40816 91177308-0d34-0410-b5e6-96231b3b80d8