Commit Graph

3822 Commits

Author SHA1 Message Date
Chris Lattner f242bec91b Build subdirs in parallel
llvm-svn: 4000
2002-10-01 22:36:35 +00:00
Chris Lattner c758fe6b72 - 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.

llvm-svn: 3999
2002-10-01 22:35:45 +00:00
Chris Lattner 7c91242aef Check in DataStructure rewrite so far.
llvm-svn: 3998
2002-10-01 22:34:45 +00:00
Chris Lattner d3121eb8cb Initial checkin of Steensgaards context insensitive flow insensitive
alias analysis

llvm-svn: 3997
2002-10-01 22:34:12 +00:00
Chris Lattner 193e6924ca 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.

llvm-svn: 3996
2002-10-01 22:33:50 +00:00
Chris Lattner 52db271374 Make sure to use the TimerGroup that we created!
llvm-svn: 3995
2002-10-01 20:12:06 +00:00
Chris Lattner d5fc9023a8 Make sure not to count the PassManager wrapers
llvm-svn: 3994
2002-10-01 20:08:11 +00:00
Chris Lattner af751b8e72 Factor timer code out of PassManager implementation, into a generic interface
exposed by Support/Timer.h.

llvm-svn: 3993
2002-10-01 19:54:07 +00:00
Chris Lattner 6dad11f6c0 Checkin generic interval timer support
llvm-svn: 3992
2002-10-01 19:36:54 +00:00
Nick Hildenbrandt 386834b2f1 Fixed to properly escape quotes in strings.
llvm-svn: 3991
2002-09-30 21:11:55 +00:00
Chris Lattner fd400215d5 Allow production of -stats output for benchmarks by specifying
ENABLE_STATS=1 on the make command line.

llvm-svn: 3989
2002-09-30 19:24:07 +00:00
Chris Lattner ce6b87be98 Allow production of -stats output for benchmarks by specifying
ENABLE_STATS=1 on the make command line.

llvm-svn: 3988
2002-09-30 19:23:55 +00:00
Vikram S. Adve 2b099a2419 On this code, llc did not pass the sixth argument (%reg321) to printf.
llvm-svn: 3986
2002-09-30 16:14:14 +00:00
Chris Lattner 1931788143 Minor tweak
llvm-svn: 3985
2002-09-29 22:59:29 +00:00
Chris Lattner 36fb08ee53 Enable buidling of programs on Linux again
llvm-svn: 3984
2002-09-29 22:58:51 +00:00
Vikram S. Adve 6be99c4f23 Added several more helper functions for construction MachineInstrs.
llvm-svn: 3983
2002-09-29 22:55:45 +00:00
Vikram S. Adve 75b4a29613 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.

llvm-svn: 3982
2002-09-29 22:55:05 +00:00
Chris Lattner 6b6f540959 Fix a problem that was caused by stale analyses being in CurrentAnalyses
llvm-svn: 3981
2002-09-29 22:50:22 +00:00
Chris Lattner 05e86302f4 Fix bug in LICM that caused the previous big win. :(
llvm-svn: 3980
2002-09-29 22:26:07 +00:00
Vikram S. Adve 5b5dd671b2 Minor change to interface for Create{Zero,Sign}ExtensionsInstructions.
llvm-svn: 3979
2002-09-29 21:53:31 +00:00
Chris Lattner 6443769b34 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!

llvm-svn: 3978
2002-09-29 21:46:09 +00:00
Chris Lattner 467a9e84c4 Fix printing of loop information
llvm-svn: 3977
2002-09-29 21:43:04 +00:00
Chris Lattner ae3ac7e1c9 Improve printing of dominator sets
llvm-svn: 3976
2002-09-29 21:42:42 +00:00
Chris Lattner 03a9e15a9f Fix major bugs in dominator set & tree information updating
llvm-svn: 3975
2002-09-29 21:41:38 +00:00
Chris Lattner 85dd58c2cb Simplify code a bit, add an assertion
llvm-svn: 3974
2002-09-29 21:37:08 +00:00
Joel Stanley fc2aac7f8f Fixed errors in ReplaceInstWithValue/ReplaceInstWithInst examples.
llvm-svn: 3973
2002-09-29 17:31:54 +00:00
Vikram S. Adve be55f2dd2c Convert DIRS to PARALLEL_DIRS. They can be built independently.
llvm-svn: 3972
2002-09-29 11:52:14 +00:00
Vikram S. Adve 009dac7ab4 Regression test for llc bug that was folding two getelementptrs illegally.
llvm-svn: 3971
2002-09-28 18:09:05 +00:00
Vikram S. Adve 9011903ee2 Added a couple of helper methods for live range construction.
llvm-svn: 3970
2002-09-28 17:05:43 +00:00
Vikram S. Adve ed2df3ecf8 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).

llvm-svn: 3969
2002-09-28 17:05:22 +00:00
Vikram S. Adve 8076fe87b7 Fixed method getReturnValue(): it should return NULL if the
callee does not return a value.

llvm-svn: 3968
2002-09-28 17:03:54 +00:00
Vikram S. Adve 8fef3b8033 Fixed incorrect assertion: spill code for function ptr should be
handled like normal operands, not like other call arguments.

llvm-svn: 3967
2002-09-28 17:02:40 +00:00
Vikram S. Adve d76d82b40f Return address register should be marked as "result" for the JMPL instruction
since it is defined by the instruction.

llvm-svn: 3966
2002-09-28 17:00:15 +00:00
Vikram S. Adve 6d1036d41b 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.

llvm-svn: 3965
2002-09-28 16:59:05 +00:00
Vikram S. Adve cce628aeaf Simplified code that handles call args and rets, so it no longer
needs the RegClass list to be passed in.

llvm-svn: 3964
2002-09-28 16:56:59 +00:00
Vikram S. Adve 4bb9866dc5 Simplify Call translation slightly.
llvm-svn: 3963
2002-09-28 16:55:41 +00:00
Vikram S. Adve d92bd6f951 Regression test for live range bug for call arguments.
llvm-svn: 3962
2002-09-28 16:51:47 +00:00
Vikram S. Adve 34d16d64b0 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.

llvm-svn: 3961
2002-09-27 14:33:08 +00:00
Vikram S. Adve 40e2347b90 Modify operand order for Create{Sign,Zero}ExtensionInstructions.
llvm-svn: 3960
2002-09-27 14:29:45 +00:00
Vikram S. Adve d238de02c7 Bug fix: some redundant copies were not being deleted after detection :-|.
llvm-svn: 3959
2002-09-27 14:27:37 +00:00
Vikram S. Adve 66303bb9a5 Sign-extend integer constants from original type size to 64 bits!
llvm-svn: 3958
2002-09-27 14:26:20 +00:00
Vikram S. Adve 46aeb8c7c2 Decompose FP-to-UInt casts into FP-to-ULong-toUInt.
llvm-svn: 3957
2002-09-27 14:24:45 +00:00
Vikram S. Adve 2a351d54a0 Simple test for constant expressions constructed from global addresses.
llvm-svn: 3956
2002-09-27 13:27:14 +00:00
Vikram S. Adve 9cf9da9642 Overhauled completely.
llvm-svn: 3955
2002-09-27 13:26:36 +00:00
Chris Lattner 647df647e1 First try at implementing the AliasSetTracker class. I'm sure it will need
revision as I start to use it though.

llvm-svn: 3954
2002-09-26 21:49:07 +00:00
Chris Lattner ed06af34b6 * Run preheaders pass tests
* Linearize list of directories so I don't have to keep dealing with
  wrapping problems.

llvm-svn: 3953
2002-09-26 19:53:02 +00:00
Chris Lattner b009ceaa9d Checkin the simple features tests for the preheader insertion pass.
llvm-svn: 3952
2002-09-26 19:50:11 +00:00
Chris Lattner d57f3f5073 - Further cleanups of LICM pass, remove extra work from previous implementation
- Do not clone instructions then insert clone outside of loop.  Just move them.

llvm-svn: 3951
2002-09-26 19:40:25 +00:00
Chris Lattner f64f2d3fb3 Improve comments, doxygenize more
llvm-svn: 3950
2002-09-26 16:52:07 +00:00
Chris Lattner 7b1dcc39c3 Don't hardcode path to dot in the doxygen config file. Let doxygen search the PATH
llvm-svn: 3949
2002-09-26 16:45:59 +00:00