Commit Graph

3930 Commits

Author SHA1 Message Date
Misha Brukman 33022f07bb Added capability to get execution count of a loop if it is a predictable
number of iterations.

llvm-svn: 4113
2002-10-11 05:34:32 +00:00
Misha Brukman 3845be203d Added helper functions in LoopInfo: isLoopExit and numBackEdges.
llvm-svn: 4112
2002-10-11 05:31:10 +00:00
Chris Lattner d484dd8da4 Expose API to graph library to allow iteration over all nodes, even unreachable ones
llvm-svn: 4111
2002-10-10 22:31:31 +00:00
Chris Lattner 27abebe1b6 Change reference
llvm-svn: 4110
2002-10-10 22:31:02 +00:00
Chris Lattner e3336c72c0 * Don't only print out reachable nodes in the graph.
* use new api to get all nodes in the graph
  * Allow custom graph traits

llvm-svn: 4109
2002-10-10 22:29:51 +00:00
Chris Lattner f43f410dfb Add new getGraphProperties that may be specialized by graphs
llvm-svn: 4108
2002-10-10 22:29:10 +00:00
Chris Lattner 513401821c Rename DataStructureGraph.h to DSGraphTraits.h
llvm-svn: 4107
2002-10-10 20:36:37 +00:00
Chris Lattner 1a535e18cd Stop using DataStructureGraph.h
llvm-svn: 4106
2002-10-10 20:33:46 +00:00
Chris Lattner 07ca9a4b4d Switch over to the right sparc c frontend
llvm-svn: 4105
2002-10-10 19:28:10 +00:00
Chris Lattner eac4dcd0bd - Dramatically simplify the ConstantMerge code now that
Value::replaceAllUsesWith works with constants correctly.

llvm-svn: 4104
2002-10-09 23:16:04 +00:00
Chris Lattner 2c6abeac43 - Make Value::replaceAllUsesWith work with constants correctly. This fixes
bug FuncResolve/2002-08-19-ResolveGlobalVars.ll and gzip looks better.

llvm-svn: 4103
2002-10-09 23:12:59 +00:00
Chris Lattner b1dd9bbc68 - Add new Constant::replaceUsesOfWithOnConstant which has an end result
similar to User::replaceUsesOfWith but actually does the right thing for
    constants.

llvm-svn: 4102
2002-10-09 23:12:25 +00:00
Chris Lattner 083a1f7890 Make isExtern() be a virtual function inherited from GlobalValue
llvm-svn: 4101
2002-10-09 23:11:33 +00:00
Nick Hildenbrandt 5aae36e3aa Table with current status of tests in the /test/Programs/ directory
llvm-svn: 4100
2002-10-09 21:49:44 +00:00
Chris Lattner 013eca003a Almost a complete rewrite of FunctionResolution to now resolve functions
and global variables.

This fixes bug: FuncResolve/2002-08-19-ResolveGlobalVarsEasier.ll
And bug: SingleSource/UnitTests/2002-10-09-ArrayResolution.c

Note that this does not fix bug:
FunctionResolve/2002-08-19-ResolveGlobalVars.ll because replaceAllUsesWith
breaks when a constantexpr is pointing to the thing being replaced.  This
is more of an infrastructure problem than anything.

llvm-svn: 4099
2002-10-09 21:10:06 +00:00
Chris Lattner 58cbb46b5f Add check to see if opt aborts
llvm-svn: 4098
2002-10-09 20:55:32 +00:00
Chris Lattner a6a9522180 New testcase
llvm-svn: 4097
2002-10-09 20:37:13 +00:00
Chris Lattner 004965bfd5 Avoid having testcases spit out bytecode on error
llvm-svn: 4096
2002-10-09 20:36:54 +00:00
Chris Lattner 19a2f08956 Cleanup testcase a lot to test JUST funcresolve of globals
llvm-svn: 4095
2002-10-09 17:44:34 +00:00
Chris Lattner 3d6c35b92e - Detemplatize UseTy<> in Value.h, because it's only instantiated for one
type!

llvm-svn: 4093
2002-10-09 00:42:03 +00:00
Misha Brukman 4fb75da532 Added a major mode for Emacs to edit LLVM assembler code with syntax
highlighting.

llvm-svn: 4092
2002-10-09 00:30:20 +00:00
Chris Lattner fa01a52149 Minor, non-functionality changing, formatting fix
llvm-svn: 4091
2002-10-09 00:25:32 +00:00
Chris Lattner 6023f638a1 - Remove Value::use_remove
llvm-svn: 4090
2002-10-09 00:25:05 +00:00
Chris Lattner 5cb6394287 - Remove Value::use_push_back & Value::use_remove
llvm-svn: 4089
2002-10-09 00:25:01 +00:00
Chris Lattner a4e2653cd7 - Rename MTy to FTy (no methods exist anymore)
- Fix bug: LevelRaise/2002-10-08-VarArgCallInfLoop.ll

llvm-svn: 4088
2002-10-09 00:16:00 +00:00
Chris Lattner 57c420ea47 New testcase for infinite loop that the raise pass is getting into
llvm-svn: 4087
2002-10-09 00:09:59 +00:00
Chris Lattner 3ea0c188b7 Fix NASTY N^2 behavior that was causing the gzip benchmark to take forever to
assemble.  Now we scan the use-list from the back when removing users instead
of from the front.

llvm-svn: 4086
2002-10-08 23:46:55 +00:00
Chris Lattner 0d779712e7 Fix bug: Assembler/2002-10-08-LargeArrayPerformance.ll by using
std::vector::reserve when possible

llvm-svn: 4085
2002-10-08 23:33:52 +00:00
Chris Lattner 091c3add36 New testcase that the assembler is unacceptably slow on
llvm-svn: 4084
2002-10-08 22:35:04 +00:00
Chris Lattner a185db3d72 - Fix bug: LevelRaise/2002-10-08-VarArgCall.ll
llvm-svn: 4083
2002-10-08 22:19:25 +00:00
Chris Lattner a1dc570868 New testcase for bug that messes up the CWriter
llvm-svn: 4082
2002-10-08 21:57:49 +00:00
Chris Lattner b7368500dc - Fix bug: cee/2002-10-07-NoImmediateDominator.ll
llvm-svn: 4081
2002-10-08 21:53:51 +00:00
Chris Lattner caf5b504a3 Changes to support PHINode::removeIncoming changes
llvm-svn: 4080
2002-10-08 21:36:34 +00:00
Chris Lattner a704ac8a66 Changes to support PHINode::removeIncoming changes
llvm-svn: 4079
2002-10-08 21:36:33 +00:00
Chris Lattner fae98a2d28 - Change PHINode::removeIncomingValue to delete the phi node if the last
incoming value is removed!

llvm-svn: 4078
2002-10-08 21:34:58 +00:00
Chris Lattner 736709feda - Checkin LARGE number of Changes to CEE pass that will make it much more
powerful, but that are largely disabled.  The basic idea here is that it
    is trying to forward branches across basic blocks that have PHI nodes in
    it, which are crucial to be able to handle cases like whet.ll.
    Unfortunately we are not updating SSA correctly, causing sim.c to die, and I
    don't have time to fix the regression now, so I must disable the
    functionality.

llvm-svn: 4077
2002-10-08 21:34:15 +00:00
Chris Lattner ed5fabe19b By default PHINode::removeIncomingValue will delete the phi node if the last
incoming value is deleted!

llvm-svn: 4076
2002-10-08 21:31:56 +00:00
Chris Lattner 5ac72defc9 Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass
llvm-svn: 4075
2002-10-08 21:06:27 +00:00
Chris Lattner acb038e5c7 Expose new "recalculate" method from dominatorset
llvm-svn: 4074
2002-10-08 19:12:08 +00:00
Chris Lattner 8d72b87dc5 Cleanup testcase
llvm-svn: 4073
2002-10-08 19:11:21 +00:00
Chris Lattner 219b848205 Make test more interesting by adding dummy phi node
llvm-svn: 4072
2002-10-08 19:11:02 +00:00
Chris Lattner 394617f38b It is illegal for PHI nodes to have zero values, delete the code to handle them
llvm-svn: 4071
2002-10-08 17:07:39 +00:00
Chris Lattner 2e0fb39d87 Fold ashr -1, X into -1
llvm-svn: 4070
2002-10-08 16:16:40 +00:00
Chris Lattner ee5c8a9e8d Add new testcase for arithmetic shr of -1
llvm-svn: 4069
2002-10-08 16:10:35 +00:00
Chris Lattner 86566f1d85 This test was mistakenly matching 'predecessors' that the new asmwriter
spits out

llvm-svn: 4068
2002-10-08 16:09:47 +00:00
Nick Hildenbrandt 37e690a9c8 LLVM syntax highlighting for VIM.
llvm-svn: 4067
2002-10-07 22:54:48 +00:00
Chris Lattner 433604a5f5 Don't rotate paper.
llvm-svn: 4066
2002-10-07 22:37:03 +00:00
Chris Lattner dd8a336e09 New testcase
llvm-svn: 4065
2002-10-07 20:32:38 +00:00
Chris Lattner 84d7b61585 Fix testcase to run correctly, add description
llvm-svn: 4064
2002-10-07 20:25:45 +00:00
Chris Lattner 85068aa417 Finally I'm able to distill a testcase for a problem I'm seeing!
llvm-svn: 4063
2002-10-07 20:05:27 +00:00