oota-llvm.git
19 years agowrap some long lines
Chris Lattner [Sun, 27 Mar 2005 22:03:46 +0000 (22:03 +0000)]
wrap some long lines

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

19 years agoremove ...
Chris Lattner [Sun, 27 Mar 2005 21:57:09 +0000 (21:57 +0000)]
remove ...

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

19 years agospeed up steens by using spliceFrom, improve its precision by realizing that
Chris Lattner [Sun, 27 Mar 2005 21:56:55 +0000 (21:56 +0000)]
speed up steens by using spliceFrom, improve its precision by realizing that
an incomplete node cannot alias a complete node.

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

19 years agoteach andersens about undef
Chris Lattner [Sun, 27 Mar 2005 18:58:23 +0000 (18:58 +0000)]
teach andersens about undef

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

19 years agoDon't give up completely, maybe other AA can say something about this.
Chris Lattner [Sun, 27 Mar 2005 00:02:33 +0000 (00:02 +0000)]
Don't give up completely, maybe other AA can say something about this.

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

19 years agoFactor out percentage printing into its own function. Make two changes to
Chris Lattner [Sat, 26 Mar 2005 23:56:33 +0000 (23:56 +0000)]
Factor out percentage printing into its own function.  Make two changes to
the function: print more precision XX.X% instead of XX%, and cast to ULL
before scaling by 100/1000 to avoid wrap around for large numbers of queries
(such as occur for 253.perlbmk and 176.gcc)

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

19 years agoCache mapping information for a call site after computing it for a mod/ref
Chris Lattner [Sat, 26 Mar 2005 23:29:03 +0000 (23:29 +0000)]
Cache mapping information for a call site after computing it for a mod/ref
query.  If the next mod/ref query happens to be for the same call site
(which is extremely likely), use the cache instead of recomputing the
callee/caller mapping.  This makes -aa-eval ***MUCH*** faster with
ds-aa

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

19 years agoRemove more long dead code: dsa doesn't provide must alias info
Chris Lattner [Sat, 26 Mar 2005 22:54:46 +0000 (22:54 +0000)]
Remove more long dead code: dsa doesn't provide must alias info

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

19 years agoremove some unsafe code that has long been dead
Chris Lattner [Sat, 26 Mar 2005 22:48:42 +0000 (22:48 +0000)]
remove some unsafe code that has long been dead

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

19 years agoslightly improve mod/ref for DSAA by checking the globals graph for fallback
Chris Lattner [Sat, 26 Mar 2005 22:47:03 +0000 (22:47 +0000)]
slightly improve mod/ref for DSAA by checking the globals graph for fallback

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

19 years agoTeach steens-aa two things about mod/ref information:
Chris Lattner [Sat, 26 Mar 2005 22:43:20 +0000 (22:43 +0000)]
Teach steens-aa two things about mod/ref information:
  1. If memory never escapes the program, it cannot be mod/ref'd by external
     functions.
  2. If memory is global never mod/ref'd in the program, it cannot be mod/ref'd
     by any call.

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

19 years agoInterchange this loop so that we test all pointers against one call site
Chris Lattner [Sat, 26 Mar 2005 22:16:44 +0000 (22:16 +0000)]
Interchange this loop so that we test all pointers against one call site
before moving on to the next call site.  This will be a more efficient way
to compute the mod/ref set for AA implementations like DSA.

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

19 years agoFix that pesky floats in integer regs problem by assigning the f32 type to
Nate Begeman [Sat, 26 Mar 2005 08:25:22 +0000 (08:25 +0000)]
Fix that pesky floats in integer regs problem by assigning the f32 type to
the correct register class.  Also remove the loading of float data into int
regs part of varargs; it will need to be implemented differently later.

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

19 years agoGet closer to having varargs working. There's still something strange
Nate Begeman [Sat, 26 Mar 2005 07:46:36 +0000 (07:46 +0000)]
Get closer to having varargs working.  There's still something strange
going on with copies between floating point and integer register files
being generated.  Once that is solved, varargs will be done.

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

19 years agoMake 64bit args and float args work correct with calls. Thanks to Chris
Nate Begeman [Sat, 26 Mar 2005 02:17:46 +0000 (02:17 +0000)]
Make 64bit args and float args work correct with calls.  Thanks to Chris
for explaining EXTRACT_ELEMENT to me.

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

19 years agoChange LowerCallTo to take a boolean isVarArg argument. This is needed
Nate Begeman [Sat, 26 Mar 2005 01:30:30 +0000 (01:30 +0000)]
Change LowerCallTo to take a boolean isVarArg argument.  This is needed
by the PowerPC backend, and probably others in the future.

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

19 years agoChange interface to LowerCallTo to take a boolean isVarArg argument.
Nate Begeman [Sat, 26 Mar 2005 01:29:23 +0000 (01:29 +0000)]
Change interface to LowerCallTo to take a boolean isVarArg argument.

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

19 years agoNext round of pattern isel changes, mostly dealing with calls.
Nate Begeman [Sat, 26 Mar 2005 01:28:53 +0000 (01:28 +0000)]
Next round of pattern isel changes, mostly dealing with calls.

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

19 years agoCorrect a documention link
Nate Begeman [Sat, 26 Mar 2005 01:28:05 +0000 (01:28 +0000)]
Correct a documention link

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

19 years agono really, don't double count these nodes either!
Chris Lattner [Fri, 25 Mar 2005 20:54:45 +0000 (20:54 +0000)]
no really, don't double count these nodes either!

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

19 years agoDon't count all of the nodes in the SCC once for each function in the SCC.
Chris Lattner [Fri, 25 Mar 2005 20:37:32 +0000 (20:37 +0000)]
Don't count all of the nodes in the SCC once for each function in the SCC.

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

19 years agoGrow the EQ classes for globals at the end of the BU pass. This shrinks
Chris Lattner [Fri, 25 Mar 2005 16:45:43 +0000 (16:45 +0000)]
Grow the EQ classes for globals at the end of the BU pass.  This shrinks
memory usage in the TD pass for 254.gap from 31.3MB to 3.9MB.

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

19 years agofix the RUN line on this testcase so it passes.
Chris Lattner [Fri, 25 Mar 2005 15:36:19 +0000 (15:36 +0000)]
fix the RUN line on this testcase so it passes.

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

19 years agoSupport global addresses and fix call returns. Varargs still aren't
Nate Begeman [Fri, 25 Mar 2005 08:34:25 +0000 (08:34 +0000)]
Support global addresses and fix call returns.  Varargs still aren't
handled correctly for floating point arguments, or more than 8 arguemnts.
This does however, allow hello world to run.

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

19 years agoEnhance loopsimplify to preserve alias analysis instead of clobbering it.
Chris Lattner [Fri, 25 Mar 2005 06:37:22 +0000 (06:37 +0000)]
Enhance loopsimplify to preserve alias analysis instead of clobbering it.
This prevents crashes on some programs when using -ds-aa -licm.

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

19 years agoTreat free operations as volatile, since they cannot be moved. This fixes
Chris Lattner [Fri, 25 Mar 2005 05:49:37 +0000 (05:49 +0000)]
Treat free operations as volatile, since they cannot be moved.  This fixes
Transforms/LICM/2005-03-24-LICM-Aggregate-Crash.ll

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

19 years agoNew testcase that crashes licm.
Chris Lattner [Fri, 25 Mar 2005 05:49:13 +0000 (05:49 +0000)]
New testcase that crashes licm.

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

19 years agoFix a bug where LICM was not updating AA information properly when sinking
Chris Lattner [Fri, 25 Mar 2005 00:22:36 +0000 (00:22 +0000)]
Fix a bug where LICM was not updating AA information properly when sinking
a pointer value out of a loop causing it to be duplicated.

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

19 years agoremove a debugging timer.
Chris Lattner [Fri, 25 Mar 2005 00:06:09 +0000 (00:06 +0000)]
remove a debugging timer.

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

19 years agoTwo changes here:
Chris Lattner [Fri, 25 Mar 2005 00:05:04 +0000 (00:05 +0000)]
Two changes here:
  1. Instead of copying Local graphs to the BU graphs to start with, use
     spliceFrom to do the job (which is constant time in this case).  On
     176.gcc, this chops off .17s from the bu pass.
  2. When building SCC graphs, simplify the logic and use spliceFrom to
     do the heavy lifting, instead of cloneInto/delete.  This slices
     another .14s off 176.gcc.

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

19 years agoMake the spliceFrom case where one graph is completely empty be constant time.
Chris Lattner [Fri, 25 Mar 2005 00:02:41 +0000 (00:02 +0000)]
Make the spliceFrom case where one graph is completely empty be constant time.

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

19 years agoadd a new DSGraph::spliceFrom method, which violently takes the content of
Chris Lattner [Thu, 24 Mar 2005 23:46:04 +0000 (23:46 +0000)]
add a new DSGraph::spliceFrom method, which violently takes the content of
one graph and plops it into another, without breaking a sweat.

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

19 years agoadd new spliceFrom methods.
Chris Lattner [Thu, 24 Mar 2005 23:45:20 +0000 (23:45 +0000)]
add new spliceFrom methods.

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

19 years agoImplement next round of Pattern ISel fixes
Nate Begeman [Thu, 24 Mar 2005 23:35:30 +0000 (23:35 +0000)]
Implement next round of Pattern ISel fixes
1. void returns
2. multiplies
3. calls

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

19 years agoFix an incorrect argument being passed to BuildMI for indirect calls.
Nate Begeman [Thu, 24 Mar 2005 23:34:38 +0000 (23:34 +0000)]
Fix an incorrect argument being passed to BuildMI for indirect calls.

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

19 years agoThis replaces the correct but slow code with a more aggressive scc-finder
Chris Lattner [Thu, 24 Mar 2005 23:06:02 +0000 (23:06 +0000)]
This replaces the correct but slow code with a more aggressive scc-finder
based approach to find globals and call sites that need to be copied.  This
speeds up the BU pass on 176.gcc from 22s back up to 2.3s.  Not as good
as 1.5s, but at least it's correct :)

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

19 years agoonly look at successors of globals. This gets us down to "only" 22s in the
Chris Lattner [Thu, 24 Mar 2005 21:17:27 +0000 (21:17 +0000)]
only look at successors of globals.  This gets us down to "only" 22s in the
bu pass for 176.gcc

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

19 years agoUnfortunately, a previous patch was not safe. Revert it, reimplement
Chris Lattner [Thu, 24 Mar 2005 21:07:47 +0000 (21:07 +0000)]
Unfortunately, a previous patch was not safe.  Revert it, reimplement
something correct. Unfortunately this takes 176.gcc's BU phase back
up to 29s from 1.5.  This fixes DSGraph/2005-03-24-Global-Arg-Alias.ll

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

19 years agoCommit Gabor Greif's patch to use iterators in lowering intrinsics.
Nate Begeman [Thu, 24 Mar 2005 20:07:16 +0000 (20:07 +0000)]
Commit Gabor Greif's patch to use iterators in lowering intrinsics.

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

19 years agodon't bother |'ing in 0's
Chris Lattner [Thu, 24 Mar 2005 18:42:51 +0000 (18:42 +0000)]
don't bother |'ing in 0's

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

19 years agobe more aggressive about incompleteness marking
Chris Lattner [Thu, 24 Mar 2005 18:42:28 +0000 (18:42 +0000)]
be more aggressive about incompleteness marking

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

19 years agonew testcase that DS-AA is causing to be miscompiled.
Chris Lattner [Thu, 24 Mar 2005 17:57:43 +0000 (17:57 +0000)]
new testcase that DS-AA is causing to be miscompiled.

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

19 years agoeliminate dead variables, patch contributed by Gabor Greif!
Chris Lattner [Thu, 24 Mar 2005 17:32:20 +0000 (17:32 +0000)]
eliminate dead variables, patch contributed by Gabor Greif!

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

19 years agoImplement more of the PPC32 Pattern ISel:
Nate Begeman [Thu, 24 Mar 2005 06:28:42 +0000 (06:28 +0000)]
Implement more of the PPC32 Pattern ISel:
1) dynamic stack alloc
2) loads
3) shifts
4) subtract
5) immediate form of add, and, or, xor
6) change flag from -pattern-isel to -enable-ppc-pattern-isel

Remove dead arguments from getGlobalBaseReg in the simple ISel

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

19 years agoFix silly "no newline at end of file" warning
Chris Lattner [Thu, 24 Mar 2005 06:16:18 +0000 (06:16 +0000)]
Fix silly "no newline at end of file" warning

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

19 years agoFix compilation errors, patch contributed by the fabulous Bill Wendling!
Chris Lattner [Thu, 24 Mar 2005 05:13:53 +0000 (05:13 +0000)]
Fix compilation errors, patch contributed by the fabulous Bill Wendling!

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

19 years agofix a compilation error, patch contributed by Bill Wendling!
Chris Lattner [Thu, 24 Mar 2005 05:12:48 +0000 (05:12 +0000)]
fix a compilation error, patch contributed by Bill Wendling!

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

19 years agoAddition of the PPC32 Pattern ISel. While it is far from complete, it will
Nate Begeman [Thu, 24 Mar 2005 04:41:43 +0000 (04:41 +0000)]
Addition of the PPC32 Pattern ISel.  While it is far from complete, it will
be brought up to parity with the current simple ISel in the coming days.
Currently, -pattern-isel is required to trigger it.

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

19 years agoRemove comments that are now meaningless from the pattern ISels, at Chris's
Nate Begeman [Thu, 24 Mar 2005 04:39:54 +0000 (04:39 +0000)]
Remove comments that are now meaningless from the pattern ISels, at Chris's
request.

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

19 years agoFix a crash while promoting a value out of a loop from a global variable
Chris Lattner [Thu, 24 Mar 2005 04:22:04 +0000 (04:22 +0000)]
Fix a crash while promoting a value out of a loop from a global variable
when using ds-aa

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

19 years agoteach ds-aa about mod/ref for external function calls.
Chris Lattner [Thu, 24 Mar 2005 03:04:50 +0000 (03:04 +0000)]
teach ds-aa about mod/ref for external function calls.

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

19 years agoSimplify dead code into a fixme :)
Chris Lattner [Thu, 24 Mar 2005 02:41:19 +0000 (02:41 +0000)]
Simplify dead code into a fixme :)

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

19 years agofix a compiler crash in runtime/libprofile
Chris Lattner [Thu, 24 Mar 2005 01:22:52 +0000 (01:22 +0000)]
fix a compiler crash in runtime/libprofile

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

19 years agowrap a long line
Chris Lattner [Wed, 23 Mar 2005 23:51:12 +0000 (23:51 +0000)]
wrap a long line

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

19 years agoIf we are calling an external function, chain to another AA to potentially
Chris Lattner [Wed, 23 Mar 2005 23:49:47 +0000 (23:49 +0000)]
If we are calling an external function, chain to another AA to potentially
decide, don't just immediately give up.

This implements GlobalsModRef/chaining-analysis.ll

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

19 years agoGlobalMR should be able to analyze this function.
Chris Lattner [Wed, 23 Mar 2005 23:48:56 +0000 (23:48 +0000)]
GlobalMR should be able to analyze this function.

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

19 years agoif a function doesn't access memory at all, it definitely doesn't read it.
Chris Lattner [Wed, 23 Mar 2005 23:27:34 +0000 (23:27 +0000)]
if a function doesn't access memory at all, it definitely doesn't read it.

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

19 years agoMake this more efficient by only making one virtual method call.
Chris Lattner [Wed, 23 Mar 2005 23:26:58 +0000 (23:26 +0000)]
Make this more efficient by only making one virtual method call.

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

19 years agoMake this a bit more aggressive
Chris Lattner [Wed, 23 Mar 2005 22:06:41 +0000 (22:06 +0000)]
Make this a bit more aggressive

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

19 years agoa hack to allow count-aa to work with ds-aa :(
Chris Lattner [Wed, 23 Mar 2005 21:59:34 +0000 (21:59 +0000)]
a hack to allow count-aa to work with ds-aa  :(

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

19 years agoAdd two options to allow -count-aa to print queries either (1) all queries,
Chris Lattner [Wed, 23 Mar 2005 21:59:07 +0000 (21:59 +0000)]
Add two options to allow -count-aa to print queries either (1) all queries,
or (2) only queries that are not successful (e.g. return may alias)

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

19 years agoFix grammar
Misha Brukman [Wed, 23 Mar 2005 21:14:33 +0000 (21:14 +0000)]
Fix grammar

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

19 years agoenable -debug-only=licm
Chris Lattner [Wed, 23 Mar 2005 21:00:12 +0000 (21:00 +0000)]
enable -debug-only=licm

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

19 years agoturn a dead conditional into an assert.
Chris Lattner [Wed, 23 Mar 2005 20:12:08 +0000 (20:12 +0000)]
turn a dead conditional into an assert.

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

19 years agoTotally gut mergeInGraph. There is absolutely no reason to be merging
Chris Lattner [Wed, 23 Mar 2005 20:08:59 +0000 (20:08 +0000)]
Totally gut mergeInGraph.  There is absolutely no reason to be merging
global roots in from callees to callers.  The BU graphs do not have accurate
globals information and all of the clients know it.  Instead, just make sure
the GG is up-to-date, and they will be perfectly satiated.

This speeds up the BU pass on 176.gcc from 5.5s to 1.5s, and Loc+BU+TD
from 7s to 2.7s.

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

19 years agowrap a long line
Chris Lattner [Wed, 23 Mar 2005 16:43:11 +0000 (16:43 +0000)]
wrap a long line

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

19 years agodon't lie to the register allocator
Andrew Lenharth [Wed, 23 Mar 2005 15:20:01 +0000 (15:20 +0000)]
don't lie to the register allocator

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

19 years agoMake -steens-aa more conservative (aka correct) by making sure to obey
Chris Lattner [Wed, 23 Mar 2005 01:48:09 +0000 (01:48 +0000)]
Make -steens-aa more conservative (aka correct) by making sure to obey
incompleteness flags.

Make it more aggressive by taking field sensitive information into
account.

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

19 years agoAdded alias analysis.
Tanya Lattner [Wed, 23 Mar 2005 01:47:20 +0000 (01:47 +0000)]
Added alias analysis.
Fixed many many bugs.
This now works on almost all Singlesource , and most of MultiSource.

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

19 years agoimplement Analysis/DSGraph/field-sensitive.ll
Chris Lattner [Wed, 23 Mar 2005 01:47:19 +0000 (01:47 +0000)]
implement Analysis/DSGraph/field-sensitive.ll

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

19 years agonew testcase to verify that we have field sensitive alias analysis info. This
Chris Lattner [Wed, 23 Mar 2005 01:46:59 +0000 (01:46 +0000)]
new testcase to verify that we have field sensitive alias analysis info.  This
test cannot be satisfied without interprocedural information.

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

19 years agomake sure this test tests the intended target.
Chris Lattner [Wed, 23 Mar 2005 01:32:03 +0000 (01:32 +0000)]
make sure this test tests the intended target.

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

19 years agodon't crash in some bad cases.
Chris Lattner [Wed, 23 Mar 2005 01:29:26 +0000 (01:29 +0000)]
don't crash in some bad cases.

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

19 years agoSeveral changes here:
Chris Lattner [Tue, 22 Mar 2005 23:54:52 +0000 (23:54 +0000)]
Several changes here:
1. Increase max node size from 64->256 to avoid collapsing an important
   structure in 181.mcf
2. If we have multiple calls to an indirect call node with an indirect
   callee, fold these call nodes together, to avoid DSA turning apoc into
   a flaming fireball of death when analyzing 176.gcc.
  With this change, 176.gcc now takes ~7s to analyze for loc+bu+td, with
  5.7s of that in the BU pass.

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

19 years agoWe might as well check the TD graphs as well, even though they are fine.
Chris Lattner [Tue, 22 Mar 2005 22:11:22 +0000 (22:11 +0000)]
We might as well check the TD graphs as well, even though they are fine.

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

19 years agoMark external globals incomplete in the BU Globals graph, fixing
Chris Lattner [Tue, 22 Mar 2005 22:10:22 +0000 (22:10 +0000)]
Mark external globals incomplete in the BU Globals graph, fixing
Analysis/DSGraph/2005-03-22-IncompleteGlobal.ll

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

19 years agoNew testcase, the BU pass is marking the global complete in the globals graph.
Chris Lattner [Tue, 22 Mar 2005 22:07:15 +0000 (22:07 +0000)]
New testcase, the BU pass is marking the global complete in the globals graph.

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

19 years agoUpdating my entry.
Tanya Lattner [Tue, 22 Mar 2005 21:33:19 +0000 (21:33 +0000)]
Updating my entry.

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

19 years agoFix a serious bug where we didn't insert globals into the globalset when
Chris Lattner [Tue, 22 Mar 2005 19:44:11 +0000 (19:44 +0000)]
Fix a serious bug where we didn't insert globals into the globalset when
cloning a graph.

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

19 years agohum, it is good to use real instructions
Andrew Lenharth [Tue, 22 Mar 2005 16:42:52 +0000 (16:42 +0000)]
hum, it is good to use real instructions

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

19 years agoDirectly count the number of memory instructions.
Chris Lattner [Tue, 22 Mar 2005 03:55:10 +0000 (03:55 +0000)]
Directly count the number of memory instructions.

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

19 years agoTimers SHOULD NOT record the time taken to count the bytes allocated in the heap!
Chris Lattner [Tue, 22 Mar 2005 03:20:38 +0000 (03:20 +0000)]
Timers SHOULD NOT record the time taken to count the bytes allocated in the heap!

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

19 years agoRemove an iteration pass over the entire scalarmap for each function created
Chris Lattner [Tue, 22 Mar 2005 02:45:13 +0000 (02:45 +0000)]
Remove an iteration pass over the entire scalarmap for each function created
by not allowing integer constants to get into the scalar map in the first
place.

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

19 years agoWhen making a clone of a DSGraph from the BU pass, make sure to remember that
Chris Lattner [Tue, 22 Mar 2005 01:50:42 +0000 (01:50 +0000)]
When making a clone of a DSGraph from the BU pass, make sure to remember that
this clone is supposed to be used for *ALL* of the functions in the SCC.

This fixes the memory explosion problem the TD pass was having, reducing the
memory growth from 24MB -> 3.5MB on povray and 270MB ->8.3MB on perlbmk!
This obviously also speeds up the TD pass *a lot*.

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

19 years agoDon't use operator[], use the new method instead, which is faster. This speeds
Chris Lattner [Tue, 22 Mar 2005 01:42:59 +0000 (01:42 +0000)]
Don't use operator[], use the new method instead, which is faster.  This speeds
up the TD pass about 30% for povray and perlbmk.  It's still not clear why
copying a 5MB set of graphs turns into a 25MB set of graphs though :(

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

19 years agoadd a method
Chris Lattner [Tue, 22 Mar 2005 01:42:10 +0000 (01:42 +0000)]
add a method

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

19 years agoNow that the dead ctor is gone, nothing uses the old node mapping exported by
Chris Lattner [Tue, 22 Mar 2005 00:36:51 +0000 (00:36 +0000)]
Now that the dead ctor is gone, nothing uses the old node mapping exported by
cloneInto: make it an internally used mapping.

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

19 years agoremove a dead ctor
Chris Lattner [Tue, 22 Mar 2005 00:33:35 +0000 (00:33 +0000)]
remove a dead ctor

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

19 years agonow that the second argument is always this->ReturnNodes, don't bother passing it.
Chris Lattner [Tue, 22 Mar 2005 00:29:44 +0000 (00:29 +0000)]
now that the second argument is always this->ReturnNodes, don't bother passing it.

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

19 years agoinstead of using a local RetValMap, just use the graph we are cloning into
Chris Lattner [Tue, 22 Mar 2005 00:25:52 +0000 (00:25 +0000)]
instead of using a local RetValMap, just use the graph we are cloning into
for the return node map.

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

19 years agotwo things: 1)evilness reduction patch, reduces the number of instructions hiding...
Andrew Lenharth [Tue, 22 Mar 2005 00:24:07 +0000 (00:24 +0000)]
two things:  1)evilness reduction patch, reduces the number of instructions hiding in the small jump CC moving code.  2)implement div of small data types by FP DIV (also reduces evilness and should speed things up)

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

19 years agonow that the valuemapping is always the local scalar map, we can eliminate
Chris Lattner [Tue, 22 Mar 2005 00:22:45 +0000 (00:22 +0000)]
now that the valuemapping is always the local scalar map, we can eliminate
this identity merge.

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

19 years agoremove the second argument to cloneInto
Chris Lattner [Tue, 22 Mar 2005 00:21:05 +0000 (00:21 +0000)]
remove the second argument to cloneInto

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

19 years agodrop the second argument to cloneInto, which is always the local scalar map.
Chris Lattner [Tue, 22 Mar 2005 00:20:56 +0000 (00:20 +0000)]
drop the second argument to cloneInto, which is always the local scalar map.

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

19 years agoadd some timers, don't clone aux nodes
Chris Lattner [Tue, 22 Mar 2005 00:12:00 +0000 (00:12 +0000)]
add some timers, don't clone aux nodes

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

19 years agomove this out of line
Chris Lattner [Tue, 22 Mar 2005 00:09:45 +0000 (00:09 +0000)]
move this out of line

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

19 years agomove this stuff out of line
Chris Lattner [Tue, 22 Mar 2005 00:09:36 +0000 (00:09 +0000)]
move this stuff out of line

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

19 years agodon't generate temporary scalarmaps.
Chris Lattner [Tue, 22 Mar 2005 00:04:21 +0000 (00:04 +0000)]
don't generate temporary scalarmaps.

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

19 years agoallow passing clone flags down to cloneInto
Chris Lattner [Mon, 21 Mar 2005 22:49:53 +0000 (22:49 +0000)]
allow passing clone flags down to cloneInto

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

19 years agoallow passing clone flags into the ctor
Chris Lattner [Mon, 21 Mar 2005 22:49:43 +0000 (22:49 +0000)]
allow passing clone flags into the ctor

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