1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 14:32:51 +01:00
Commit Graph

3394 Commits

Author SHA1 Message Date
Chris Lattner
6b03d7d268 New testcase distilled from trying to compile burg with LLVM
llvm-svn: 3148
2002-07-30 05:57:03 +00:00
Chris Lattner
44a988ebf2 * Move InstructionSelection Pass here instead of living in Sparc.cpp. It
is platform independant afterall.
* Object orientize the functions, cleanup code a bit.  Instead of static
  global functions, the helpers for instruction selection are now part of
  the InstructionSelection Pass class.

llvm-svn: 3147
2002-07-30 03:57:36 +00:00
Chris Lattner
82f80aaa16 * Move InstructionSelection pass to lib/CodeGen/InstrSelection so it is
shared by backends.

llvm-svn: 3146
2002-07-30 03:56:16 +00:00
Chris Lattner
4b68cd0c61 Expose instruction selection as a pass instead of a global function
llvm-svn: 3145
2002-07-30 03:55:29 +00:00
Chris Lattner
77cd530591 Add rough support for LLC passes
llvm-svn: 3144
2002-07-30 03:55:01 +00:00
Chris Lattner
17bb18af72 Remove unused vector
llvm-svn: 3143
2002-07-30 02:52:40 +00:00
Chris Lattner
4d05134df0 Fix bug with last patch which would occur when a call returned void and we
attempted to assign it a name.

llvm-svn: 3142
2002-07-30 02:42:49 +00:00
Chris Lattner
8795611a6d Pass renamed
llvm-svn: 3141
2002-07-30 00:53:26 +00:00
Chris Lattner
1980b35509 * Make sure the resolved function call instructions get the name from the
old call instruction
* Implement conversion of return values for calls.  This fixes bug:
   test/Regression/Transforms/FunctionResolve/retmismatch3.ll

llvm-svn: 3140
2002-07-30 00:50:49 +00:00
Chris Lattner
0249c3a1d8 Oops, fix testcase
llvm-svn: 3139
2002-07-30 00:49:42 +00:00
Chris Lattner
72b9a9b3b7 NEw testcase to handle "yet another" return type mismatch possibility
llvm-svn: 3138
2002-07-30 00:34:52 +00:00
Chris Lattner
b9052f081a * Fix bug: test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.ll
which was caused by us not running the "drop references of dead
  instructions" code when there were no basic blocks that were dead.

  We still don't want to do some of the stuff we do if there are dead
  basic blocks, but we DO want to drop references of dead instructions,
  so we factor the common code out to a new method.

llvm-svn: 3137
2002-07-30 00:22:34 +00:00
Chris Lattner
2fcfcfc331 Trim down testcase, a lot.
llvm-svn: 3136
2002-07-30 00:10:05 +00:00
Chris Lattner
e2763e46bd Reduce testcase more
llvm-svn: 3135
2002-07-29 23:41:21 +00:00
Chris Lattner
72b8a38a26 Add code to ensure that no PHI nodes are left laying around with their
arguments dropped.  This fixes bug:
   test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll

llvm-svn: 3134
2002-07-29 23:40:46 +00:00
Chris Lattner
1c49ae55b9 Use a module analysis
llvm-svn: 3133
2002-07-29 23:02:25 +00:00
Chris Lattner
dd32661f72 Reduce the size of the testcase
llvm-svn: 3132
2002-07-29 22:46:55 +00:00
Chris Lattner
078c1024c0 Implement a new RemoveSuccessor function
llvm-svn: 3131
2002-07-29 22:32:08 +00:00
Chris Lattner
dedfc5ccb3 Implement a new RemoveSuccessor function
llvm-svn: 3130
2002-07-29 22:32:06 +00:00
Chris Lattner
5aef91b716 Fix bug: test/Regression/Transforms/ADCE/2002-07-29-Segfault.ll
llvm-svn: 3129
2002-07-29 22:31:39 +00:00
Chris Lattner
2f7ce877c5 Allow folding of basic blocks that have PHI nodes in them, fixing "bug":
test/Regression/Transforms/SimplifyCFG/2002-06-24-PHINode.ll

llvm-svn: 3128
2002-07-29 21:26:30 +00:00
Chris Lattner
4ff6f3bf84 Seperate analysis wrapper stuff to AnalysisWrappers.cpp
llvm-svn: 3127
2002-07-29 21:24:10 +00:00
Chris Lattner
e848314fdf Hrm, testcase was checking the wrong pass. :(
llvm-svn: 3126
2002-07-29 21:12:20 +00:00
Chris Lattner
ef6729c9ca * Eliminate the Provided set. All Passes now finally just automatically
provide themselves.

llvm-svn: 3125
2002-07-29 21:03:38 +00:00
Chris Lattner
b202b77aab * Eliminate the Provided set. All Passes now finally just automatically
provide themselves.

llvm-svn: 3124
2002-07-29 21:03:33 +00:00
Chris Lattner
fd9fefa8f6 * PassInfo is allowed to be missing now (ie, not all passes need be registered)
* getPassName uses PassInfo if it's available
* PassInfo is now cached in the pass so that it is only looked up once, maximum

llvm-svn: 3123
2002-07-29 21:02:31 +00:00
Chris Lattner
27795f655b * Fix comment descriptions
* Remove defaulted argument to ctor that is never used anyway
* Prevent copying and assignment

llvm-svn: 3122
2002-07-29 21:01:19 +00:00
Chris Lattner
abbfb07573 * Fix assertion failure caused by command line argument getting removed after
the map was freed.
* Cleanup code a bit

llvm-svn: 3121
2002-07-29 20:58:42 +00:00
Chris Lattner
449422ca8c New testcase
llvm-svn: 3120
2002-07-29 19:39:52 +00:00
Chris Lattner
9c0741f1a1 Fix testcase to not print pointer value
llvm-svn: 3119
2002-07-29 19:07:48 +00:00
Chris Lattner
8a4a8187d9 New testcase
llvm-svn: 3118
2002-07-29 19:02:49 +00:00
Chris Lattner
86e5192d95 Remove needless #include
llvm-svn: 3117
2002-07-27 05:25:29 +00:00
Chris Lattner
ec2780457d * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID:  Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
  the analyses themselves.

llvm-svn: 3116
2002-07-27 01:12:17 +00:00
Chris Lattner
3f47f1065b * Standardize how analysis results/passes as printed with the print() virtual
methods
* Eliminate AnalysisID:  Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
  the analyses themselves.

llvm-svn: 3115
2002-07-27 01:12:15 +00:00
Chris Lattner
2a4b8f337a Make analyze use the Pass repository to populate it's command line argument list
llvm-svn: 3114
2002-07-27 01:08:50 +00:00
Chris Lattner
7a9eb848cd * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses

llvm-svn: 3113
2002-07-26 21:12:46 +00:00
Chris Lattner
b934722f1b * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses

llvm-svn: 3112
2002-07-26 21:12:44 +00:00
Chris Lattner
ea9fb2a20a *** empty log message ***
llvm-svn: 3111
2002-07-26 21:11:42 +00:00
Chris Lattner
ac27223c6a * Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
  are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses

llvm-svn: 3110
2002-07-26 21:11:38 +00:00
Chris Lattner
7eae7a24e5 Factor PassNamePArser out into llvm/Support/PassNameParser.h
llvm-svn: 3109
2002-07-26 21:09:32 +00:00
Chris Lattner
252b65fbdf Factor PassNameParser out of opt.cpp so that analyze and eventually llc can use it.
llvm-svn: 3108
2002-07-26 21:09:10 +00:00
Chris Lattner
e056a17a88 *** empty log message ***
llvm-svn: 3107
2002-07-26 19:19:31 +00:00
Chris Lattner
64a9cec8a8 Analysis contructors now no longer take AnalysisID's as their argument,
because there is a one-one mapping between classes and analyses.

llvm-svn: 3106
2002-07-26 19:19:16 +00:00
Chris Lattner
ec1a192b16 *** empty log message ***
llvm-svn: 3105
2002-07-26 18:40:14 +00:00
Chris Lattner
27272ee812 Simplify analyses so that there is only one analysis per class
llvm-svn: 3104
2002-07-26 18:40:06 +00:00
Chris Lattner
32f5f52f92 Fix typeo that caused bug:
test/Regression/Assembler/2002-07-25-ReturnPtrFunction.llx

llvm-svn: 3103
2002-07-25 20:58:51 +00:00
Chris Lattner
5dcc9d93a3 New testcase for bug
llvm-svn: 3102
2002-07-25 20:57:21 +00:00
Chris Lattner
789adc9192 Add check to fix bug:
test/Regression/Assembler/2002-07-25-ParserAssertionFailure.llx

llvm-svn: 3101
2002-07-25 20:52:56 +00:00
Chris Lattner
deeef5cf39 New testcase
llvm-svn: 3100
2002-07-25 20:52:34 +00:00
Chris Lattner
2aa4420d83 Fix bug: test/Regression/Assembler/2002-07-25-QuoteInString.llx
llvm-svn: 3099
2002-07-25 20:32:37 +00:00