oota-llvm.git
22 years ago - Add new isExternal() method to GlobalVariable to mirror Function.
Chris Lattner [Sun, 6 Oct 2002 22:29:58 +0000 (22:29 +0000)]
  - Add new isExternal() method to GlobalVariable to mirror Function.
  - doxygenize comments and add new comments

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

22 years ago - The extract tool now is sure to extract the function implementation for
Chris Lattner [Sun, 6 Oct 2002 21:30:04 +0000 (21:30 +0000)]
  - The extract tool now is sure to extract the function implementation for
    the specified name instead of extracting the prototype if both exist.

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

22 years agoPHI nodes are not allowed to exist with zero incoming values, check that
Chris Lattner [Sun, 6 Oct 2002 21:00:31 +0000 (21:00 +0000)]
PHI nodes are not allowed to exist with zero incoming values, check that
there aren't any like this.

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

22 years agoBug fix: In preventing static global variables from being printed twice,
Vikram S. Adve [Sat, 5 Oct 2002 23:43:10 +0000 (23:43 +0000)]
Bug fix: In preventing static global variables from being printed twice,
I also prevented external globals from being printed twice, but they
should (extern declaration and definition).

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

22 years agoAdded #include<unistd.h> to compile with solaris gcc3.2
Anand Shukla [Fri, 4 Oct 2002 23:57:01 +0000 (23:57 +0000)]
Added #include<unistd.h> to compile with solaris gcc3.2

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

22 years agoadded cast to unsigned to compile with gcc3.2 (sparc)
Anand Shukla [Fri, 4 Oct 2002 23:56:18 +0000 (23:56 +0000)]
added cast to unsigned to compile with gcc3.2 (sparc)

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

22 years agoNew testcase for bug never checked into CVS, but that I hit during debugging a
Chris Lattner [Fri, 4 Oct 2002 23:29:40 +0000 (23:29 +0000)]
New testcase for bug never checked into CVS, but that I hit during debugging a
new feature

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

22 years agoHandle post dominance correctly in the case where blocks do not have a path to
Chris Lattner [Fri, 4 Oct 2002 14:50:20 +0000 (14:50 +0000)]
Handle post dominance correctly in the case where blocks do not have a path to
the exit node.

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

22 years agoFix a nasty problem with dominance calculation for unreachable blocks.
Chris Lattner [Fri, 4 Oct 2002 14:45:48 +0000 (14:45 +0000)]
Fix a nasty problem with dominance calculation for unreachable blocks.
If we had a CFG that look like Entry -> B, Unreachable -> B, then we would
not correctly determine that Entry dominated B, because Entry did not
apparently dominate "unreachable".  This patch fixes this by making the entry
node dominate all blocks, including unreachable ones.

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

22 years agoPrune function nodes that are no longer referenced due to inlining
Chris Lattner [Thu, 3 Oct 2002 21:55:28 +0000 (21:55 +0000)]
Prune function nodes that are no longer referenced due to inlining

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

22 years agosgefa uses truely huge data structures nodes. Only print part of them if they
Chris Lattner [Thu, 3 Oct 2002 21:55:13 +0000 (21:55 +0000)]
sgefa uses truely huge data structures nodes.  Only print part of them if they
are so big

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

22 years agoThe wall clock timer (implementing using the RTC or cycle counter on x86) is
Chris Lattner [Thu, 3 Oct 2002 21:08:20 +0000 (21:08 +0000)]
The wall clock timer (implementing using the RTC or cycle counter on x86) is
so much more accurate than the per process timers that we get better results
(less noise) by sorting according to wall time than process time.

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

22 years agoHandle bug exposed by power benchmark
Chris Lattner [Thu, 3 Oct 2002 21:06:38 +0000 (21:06 +0000)]
Handle bug exposed by power benchmark

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

22 years agoAdd parens around constant calls to getelemptr to properly associate the reference
Nick Hildenbrandt [Thu, 3 Oct 2002 20:47:24 +0000 (20:47 +0000)]
Add parens around constant calls to getelemptr to properly associate the reference

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

22 years agoReimplement/port the Bottom Up Closure pass
Chris Lattner [Thu, 3 Oct 2002 20:38:41 +0000 (20:38 +0000)]
Reimplement/port the Bottom Up Closure pass

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

22 years agoNew testcase
Chris Lattner [Thu, 3 Oct 2002 20:06:33 +0000 (20:06 +0000)]
New testcase

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

22 years agoDataStructure.h doesn't include DSGraph.h
Chris Lattner [Wed, 2 Oct 2002 22:14:38 +0000 (22:14 +0000)]
DataStructure.h doesn't include DSGraph.h

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

22 years agoRemove commented out stuff
Chris Lattner [Wed, 2 Oct 2002 22:14:17 +0000 (22:14 +0000)]
Remove commented out stuff
DataStructure.h doesn't include DSGraph.h now

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

22 years agoMove GlobalDSGraph class defn to the end of the file
Chris Lattner [Wed, 2 Oct 2002 21:55:52 +0000 (21:55 +0000)]
Move GlobalDSGraph class defn to the end of the file

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

22 years agoThis file doesn't need Pass.h
Chris Lattner [Wed, 2 Oct 2002 21:55:24 +0000 (21:55 +0000)]
This file doesn't need Pass.h

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

22 years agoI was wrong on the removing of those references on the last commit.
Nick Hildenbrandt [Wed, 2 Oct 2002 21:14:33 +0000 (21:14 +0000)]
I was wrong on the removing of those references on the last commit.

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

22 years ago* Implement the getc() function
Chris Lattner [Wed, 2 Oct 2002 21:12:13 +0000 (21:12 +0000)]
* Implement the getc() function
* Support usage of stdin, stdout & stderr correctly in LLI!

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

22 years agoCleanup #includes, expose module
Chris Lattner [Wed, 2 Oct 2002 21:11:16 +0000 (21:11 +0000)]
Cleanup #includes, expose module

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

22 years agoExpose TD to ExternalFunctions.cpp
Chris Lattner [Wed, 2 Oct 2002 21:10:48 +0000 (21:10 +0000)]
Expose TD to ExternalFunctions.cpp

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

22 years ago - Print the predecessors of a basic block instead of the number of uses of
Chris Lattner [Wed, 2 Oct 2002 19:38:55 +0000 (19:38 +0000)]
  - Print the predecessors of a basic block instead of the number of uses of
    the block in the AsmWriter

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

22 years agoFix bug: 2002-10-02-SignExtensionProblem.ll
Chris Lattner [Wed, 2 Oct 2002 18:53:14 +0000 (18:53 +0000)]
Fix bug: 2002-10-02-SignExtensionProblem.ll

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

22 years agoRemoved unneeded reference and dereferences.
Nick Hildenbrandt [Wed, 2 Oct 2002 18:34:51 +0000 (18:34 +0000)]
Removed unneeded reference and dereferences.

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

22 years agoNew testcase for a problem discovered in the SPECINT gzip benchmark.
Chris Lattner [Wed, 2 Oct 2002 18:32:38 +0000 (18:32 +0000)]
New testcase for a problem discovered in the SPECINT gzip benchmark.

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

22 years agoCleaned up my last check-in.
Nick Hildenbrandt [Wed, 2 Oct 2002 18:32:35 +0000 (18:32 +0000)]
Cleaned up my last check-in.

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

22 years agoNo longer include malloc.h. If protoypes are needed for memory functions they will...
Nick Hildenbrandt [Wed, 2 Oct 2002 18:20:18 +0000 (18:20 +0000)]
No longer include malloc.h.  If protoypes are needed for memory functions they will be present in the byte code and the generated c as well.

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

22 years ago * Implement fully general merging of array subscripts on demand! This
Chris Lattner [Wed, 2 Oct 2002 06:24:36 +0000 (06:24 +0000)]
* Implement fully general merging of array subscripts on demand!  This
      does not handle the initial pointer index case yet though.

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

22 years ago * Implement fully general merging of array subscripts on demand! This
Chris Lattner [Wed, 2 Oct 2002 06:24:29 +0000 (06:24 +0000)]
* Implement fully general merging of array subscripts on demand!  This
      does not handle the initial pointer index case yet though.

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

22 years agoWhen printing DS nodes, print the mergemap index as well to allow easier
Chris Lattner [Wed, 2 Oct 2002 05:17:55 +0000 (05:17 +0000)]
When printing DS nodes, print the mergemap index as well to allow easier
debugging of merging process.

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

22 years agoCheckin the "meat" of the Data structure graph itself. I forgot to check
Chris Lattner [Wed, 2 Oct 2002 04:58:12 +0000 (04:58 +0000)]
Checkin the "meat" of the Data structure graph itself.  I forgot to check
this in before.  :(

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

22 years ago* Significant rework of DSNode to support arbitrary aliasing due to merging
Chris Lattner [Wed, 2 Oct 2002 04:57:39 +0000 (04:57 +0000)]
* Significant rework of DSNode to support arbitrary aliasing due to merging
* Now all and any bytes of a DSNode can be merged together individually.  This
  is neccesary to support the full generality of C and support aliasing
  correctly.

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

22 years ago - Remove the User::eraseOperand method which is never used, really
Chris Lattner [Tue, 1 Oct 2002 23:41:17 +0000 (23:41 +0000)]
  - Remove the User::eraseOperand method which is never used, really
    dangerous, and not something we want to expose.

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

22 years agoDo some cleanups to the Type and Constant section to remove latex stuff
Chris Lattner [Tue, 1 Oct 2002 23:17:09 +0000 (23:17 +0000)]
Do some cleanups to the Type and Constant section to remove latex stuff

There is still a lot of cleanup and fleshing out required here, but at least
it gets rid of the flagrantly bad parts.

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

22 years agoTemporary change to make datastructure stuff link in right
Chris Lattner [Tue, 1 Oct 2002 22:41:01 +0000 (22:41 +0000)]
Temporary change to make datastructure stuff link in right

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

22 years agoChanges to work with Statistics rework
Chris Lattner [Tue, 1 Oct 2002 22:40:31 +0000 (22:40 +0000)]
Changes to work with Statistics rework
    * Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.
    * Updated ProgrammersManual with new semantics.

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

22 years agoUpdate manual to reflect recent changes in the Statistic class.
Chris Lattner [Tue, 1 Oct 2002 22:39:41 +0000 (22:39 +0000)]
Update manual to reflect recent changes in the Statistic class.

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

22 years agoUpdates to work with recent Statistic's changes:
Chris Lattner [Tue, 1 Oct 2002 22:38:41 +0000 (22:38 +0000)]
Updates to work with recent Statistic's changes:

    * Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.
    * Updated ProgrammersManual with new semantics.

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

22 years agoUpdates to work with recent Statistic's changes:
Chris Lattner [Tue, 1 Oct 2002 22:38:37 +0000 (22:38 +0000)]
Updates to work with recent Statistic's changes:
    * Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.
    * Updated ProgrammersManual with new semantics.

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

22 years agoBuild subdirs in parallel
Chris Lattner [Tue, 1 Oct 2002 22:36:35 +0000 (22:36 +0000)]
Build subdirs in parallel

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

22 years ago - Rework Statistics:
Chris Lattner [Tue, 1 Oct 2002 22:35:45 +0000 (22:35 +0000)]
  - Rework Statistics:
    * Renamed StatisticReporter.h/cpp to Statistic.h/cpp
    * Broke constructor to take two const char * arguments instead of one, so
      that indendation can be taken care of automatically.
    * Sort the list by pass name when printing
    * Make sure to print all statistics as a group, instead of randomly when
      the statistics dtors are called.

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

22 years agoCheck in DataStructure rewrite so far.
Chris Lattner [Tue, 1 Oct 2002 22:34:45 +0000 (22:34 +0000)]
Check in DataStructure rewrite so far.

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

22 years agoInitial checkin of Steensgaards context insensitive flow insensitive
Chris Lattner [Tue, 1 Oct 2002 22:34:12 +0000 (22:34 +0000)]
Initial checkin of Steensgaards context insensitive flow insensitive
alias analysis

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

22 years agoCheckin some major reworks of data structure analysis. This is not done,
Chris Lattner [Tue, 1 Oct 2002 22:33:50 +0000 (22:33 +0000)]
Checkin some major reworks of data structure analysis.  This is not done,
nor does it work very well, but I need to get it checked in before I break
the tree unintentionally.

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

22 years agoMake sure to use the TimerGroup that we created!
Chris Lattner [Tue, 1 Oct 2002 20:12:06 +0000 (20:12 +0000)]
Make sure to use the TimerGroup that we created!

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

22 years agoMake sure not to count the PassManager wrapers
Chris Lattner [Tue, 1 Oct 2002 20:08:11 +0000 (20:08 +0000)]
Make sure not to count the PassManager wrapers

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

22 years agoFactor timer code out of PassManager implementation, into a generic interface
Chris Lattner [Tue, 1 Oct 2002 19:54:07 +0000 (19:54 +0000)]
Factor timer code out of PassManager implementation, into a generic interface
exposed by Support/Timer.h.

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

22 years agoCheckin generic interval timer support
Chris Lattner [Tue, 1 Oct 2002 19:36:54 +0000 (19:36 +0000)]
Checkin generic interval timer support

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

22 years agoFixed to properly escape quotes in strings.
Nick Hildenbrandt [Mon, 30 Sep 2002 21:11:55 +0000 (21:11 +0000)]
Fixed to properly escape quotes in strings.

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

22 years agoAllow production of -stats output for benchmarks by specifying
Chris Lattner [Mon, 30 Sep 2002 19:24:07 +0000 (19:24 +0000)]
Allow production of -stats output for benchmarks by specifying
ENABLE_STATS=1 on the make command line.

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

22 years agoAllow production of -stats output for benchmarks by specifying
Chris Lattner [Mon, 30 Sep 2002 19:23:55 +0000 (19:23 +0000)]
Allow production of -stats output for benchmarks by specifying
ENABLE_STATS=1 on the make command line.

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

22 years agoOn this code, llc did not pass the sixth argument (%reg321) to printf.
Vikram S. Adve [Mon, 30 Sep 2002 16:14:14 +0000 (16:14 +0000)]
On this code, llc did not pass the sixth argument (%reg321) to printf.

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

22 years agoMinor tweak
Chris Lattner [Sun, 29 Sep 2002 22:59:29 +0000 (22:59 +0000)]
Minor tweak

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

22 years agoEnable buidling of programs on Linux again
Chris Lattner [Sun, 29 Sep 2002 22:58:51 +0000 (22:58 +0000)]
Enable buidling of programs on Linux again

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

22 years agoAdded several more helper functions for construction MachineInstrs.
Vikram S. Adve [Sun, 29 Sep 2002 22:55:45 +0000 (22:55 +0000)]
Added several more helper functions for construction MachineInstrs.

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

22 years agoBug fix in folding getElementPtr instructions: don't fold one into
Vikram S. Adve [Sun, 29 Sep 2002 22:55:05 +0000 (22:55 +0000)]
Bug fix in folding getElementPtr instructions: don't fold one into
a predecessor if it has a non-zero first index and the predecessor
ends with a struct index.

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

22 years agoFix a problem that was caused by stale analyses being in CurrentAnalyses
Chris Lattner [Sun, 29 Sep 2002 22:50:22 +0000 (22:50 +0000)]
Fix a problem that was caused by stale analyses being in CurrentAnalyses

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

22 years agoFix bug in LICM that caused the previous big win. :(
Chris Lattner [Sun, 29 Sep 2002 22:26:07 +0000 (22:26 +0000)]
Fix bug in LICM that caused the previous big win. :(

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

22 years agoMinor change to interface for Create{Zero,Sign}ExtensionsInstructions.
Vikram S. Adve [Sun, 29 Sep 2002 21:53:31 +0000 (21:53 +0000)]
Minor change to interface for Create{Zero,Sign}ExtensionsInstructions.

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

22 years agoHoist the contents of Loops in depth first order in the dominator tree,
Chris Lattner [Sun, 29 Sep 2002 21:46:09 +0000 (21:46 +0000)]
Hoist the contents of Loops in depth first order in the dominator tree,
rather than in random order.  This causes LICM to be DRAMATICALLY more
effective. For example, on bzip2.c, it is able to hoist 302 loads and
2380 total instructions, as opposed to 44/338 before.  This  obviously
makes other transformations much more powerful as well!

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

22 years agoFix printing of loop information
Chris Lattner [Sun, 29 Sep 2002 21:43:04 +0000 (21:43 +0000)]
Fix printing of loop information

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

22 years agoImprove printing of dominator sets
Chris Lattner [Sun, 29 Sep 2002 21:42:42 +0000 (21:42 +0000)]
Improve printing of dominator sets

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

22 years agoFix major bugs in dominator set & tree information updating
Chris Lattner [Sun, 29 Sep 2002 21:41:38 +0000 (21:41 +0000)]
Fix major bugs in dominator set & tree information updating

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

22 years agoSimplify code a bit, add an assertion
Chris Lattner [Sun, 29 Sep 2002 21:37:08 +0000 (21:37 +0000)]
Simplify code a bit, add an assertion

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

22 years agoFixed errors in ReplaceInstWithValue/ReplaceInstWithInst examples.
Joel Stanley [Sun, 29 Sep 2002 17:31:54 +0000 (17:31 +0000)]
Fixed errors in ReplaceInstWithValue/ReplaceInstWithInst examples.

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

22 years agoConvert DIRS to PARALLEL_DIRS. They can be built independently.
Vikram S. Adve [Sun, 29 Sep 2002 11:52:14 +0000 (11:52 +0000)]
Convert DIRS to PARALLEL_DIRS.  They can be built independently.

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

22 years agoRegression test for llc bug that was folding two getelementptrs illegally.
Vikram S. Adve [Sat, 28 Sep 2002 18:09:05 +0000 (18:09 +0000)]
Regression test for llc bug that was folding two getelementptrs illegally.

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

22 years agoAdded a couple of helper methods for live range construction.
Vikram S. Adve [Sat, 28 Sep 2002 17:05:43 +0000 (17:05 +0000)]
Added a couple of helper methods for live range construction.

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

22 years agoLive ranges for Return value and return address of a Call are now
Vikram S. Adve [Sat, 28 Sep 2002 17:05:22 +0000 (17:05 +0000)]
Live ranges for Return value and return address of a Call are now
created here, simply by handling all implicit operands (which should
have been done anyway).

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

22 years agoFixed method getReturnValue(): it should return NULL if the
Vikram S. Adve [Sat, 28 Sep 2002 17:03:54 +0000 (17:03 +0000)]
Fixed method getReturnValue(): it should return NULL if the
callee does not return a value.

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

22 years agoFixed incorrect assertion: spill code for function ptr should be
Vikram S. Adve [Sat, 28 Sep 2002 17:02:40 +0000 (17:02 +0000)]
Fixed incorrect assertion: spill code for function ptr should be
handled like normal operands, not like other call arguments.

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

22 years agoReturn address register should be marked as "result" for the JMPL instruction
Vikram S. Adve [Sat, 28 Sep 2002 17:00:15 +0000 (17:00 +0000)]
Return address register should be marked as "result" for the JMPL instruction
since it is defined by the instruction.

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

22 years agoLive ranges for Return value and return address of a Call are no longer
Vikram S. Adve [Sat, 28 Sep 2002 16:59:05 +0000 (16:59 +0000)]
Live ranges for Return value and return address of a Call are no longer
created here.  Instead they are created in LiveRangeInfo.cpp.  This
simplifies the code here quite a bit.

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

22 years agoSimplified code that handles call args and rets, so it no longer
Vikram S. Adve [Sat, 28 Sep 2002 16:56:59 +0000 (16:56 +0000)]
Simplified code that handles call args and rets, so it no longer
needs the RegClass list to be passed in.

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

22 years agoSimplify Call translation slightly.
Vikram S. Adve [Sat, 28 Sep 2002 16:55:41 +0000 (16:55 +0000)]
Simplify Call translation slightly.

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

22 years agoRegression test for live range bug for call arguments.
Vikram S. Adve [Sat, 28 Sep 2002 16:51:47 +0000 (16:51 +0000)]
Regression test for live range bug for call arguments.

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

22 years agoOverhaul integer conversions to match C++ ISO standard.
Vikram S. Adve [Fri, 27 Sep 2002 14:33:08 +0000 (14:33 +0000)]
Overhaul integer conversions to match C++ ISO standard.
Don't allow direct FP-to-uint conversion (must be eliminated by preselection).
Address arithmetic for arrays is now entirely 64-bit so no sign-ext needed.

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

22 years agoModify operand order for Create{Sign,Zero}ExtensionInstructions.
Vikram S. Adve [Fri, 27 Sep 2002 14:29:45 +0000 (14:29 +0000)]
Modify operand order for Create{Sign,Zero}ExtensionInstructions.

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

22 years agoBug fix: some redundant copies were not being deleted after detection :-|.
Vikram S. Adve [Fri, 27 Sep 2002 14:27:37 +0000 (14:27 +0000)]
Bug fix: some redundant copies were not being deleted after detection :-|.

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

22 years agoSign-extend integer constants from original type size to 64 bits!
Vikram S. Adve [Fri, 27 Sep 2002 14:26:20 +0000 (14:26 +0000)]
Sign-extend integer constants from original type size to 64 bits!

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

22 years agoDecompose FP-to-UInt casts into FP-to-ULong-toUInt.
Vikram S. Adve [Fri, 27 Sep 2002 14:24:45 +0000 (14:24 +0000)]
Decompose FP-to-UInt casts into FP-to-ULong-toUInt.

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

22 years agoSimple test for constant expressions constructed from global addresses.
Vikram S. Adve [Fri, 27 Sep 2002 13:27:14 +0000 (13:27 +0000)]
Simple test for constant expressions constructed from global addresses.

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

22 years agoOverhauled completely.
Vikram S. Adve [Fri, 27 Sep 2002 13:26:36 +0000 (13:26 +0000)]
Overhauled completely.

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

22 years agoFirst try at implementing the AliasSetTracker class. I'm sure it will need
Chris Lattner [Thu, 26 Sep 2002 21:49:07 +0000 (21:49 +0000)]
First try at implementing the AliasSetTracker class. I'm sure it will need
revision as I start to use it though.

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

22 years ago* Run preheaders pass tests
Chris Lattner [Thu, 26 Sep 2002 19:53:02 +0000 (19:53 +0000)]
* Run preheaders pass tests
* Linearize list of directories so I don't have to keep dealing with
  wrapping problems.

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

22 years agoCheckin the simple features tests for the preheader insertion pass.
Chris Lattner [Thu, 26 Sep 2002 19:50:11 +0000 (19:50 +0000)]
Checkin the simple features tests for the preheader insertion pass.

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

22 years ago - Further cleanups of LICM pass, remove extra work from previous implementation
Chris Lattner [Thu, 26 Sep 2002 19:40:25 +0000 (19:40 +0000)]
 - Further cleanups of LICM pass, remove extra work from previous implementation
 - Do not clone instructions then insert clone outside of loop.  Just move them.

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

22 years agoImprove comments, doxygenize more
Chris Lattner [Thu, 26 Sep 2002 16:52:07 +0000 (16:52 +0000)]
Improve comments, doxygenize more

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

22 years agoDon't hardcode path to dot in the doxygen config file. Let doxygen search the PATH
Chris Lattner [Thu, 26 Sep 2002 16:45:59 +0000 (16:45 +0000)]
Don't hardcode path to dot in the doxygen config file.  Let doxygen search the PATH

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

22 years agoDon't hardcode path to doxygen
Chris Lattner [Thu, 26 Sep 2002 16:38:42 +0000 (16:38 +0000)]
Don't hardcode path to doxygen

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

22 years agoClean up LICM significantly now that it is guaranteed to have loop preheaders
Chris Lattner [Thu, 26 Sep 2002 16:38:03 +0000 (16:38 +0000)]
Clean up LICM significantly now that it is guaranteed to have loop preheaders

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

22 years agoChange pass name to something sane
Chris Lattner [Thu, 26 Sep 2002 16:37:37 +0000 (16:37 +0000)]
Change pass name to something sane

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

22 years agoLoop invariant code motion now depends on the LoopPreheader pass. Dead code
Chris Lattner [Thu, 26 Sep 2002 16:19:31 +0000 (16:19 +0000)]
Loop invariant code motion now depends on the LoopPreheader pass.  Dead code
has not yet been removed.

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

22 years ago- Cleanup break-crit-edges pass by making SplitCriticalEdge a member method.
Chris Lattner [Thu, 26 Sep 2002 16:18:51 +0000 (16:18 +0000)]
- Cleanup break-crit-edges pass by making SplitCriticalEdge a member method.
- break-crit-edges pass does not invalidate loop-preheader pass.

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

22 years agoCheckin new loop-preheader insertion pass.
Chris Lattner [Thu, 26 Sep 2002 16:17:33 +0000 (16:17 +0000)]
Checkin new loop-preheader insertion pass.

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

22 years agoCheckin new loop-preheader insertion pass.
Chris Lattner [Thu, 26 Sep 2002 16:17:31 +0000 (16:17 +0000)]
Checkin new loop-preheader insertion pass.

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

22 years agoFix printing of loop information
Chris Lattner [Thu, 26 Sep 2002 16:15:54 +0000 (16:15 +0000)]
Fix printing of loop information

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