Commit Graph

2128 Commits

Author SHA1 Message Date
b42b7f921a Checkin first unit testcases for the backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2249 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-14 06:23:00 +00:00
649f5dd77a * s/Method/Function
* Fix bug where the character after a % was being discarded


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2248 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-14 06:15:24 +00:00
3e0e520728 Turn off debug output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2247 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-14 06:14:41 +00:00
dd4144a587 s/Method/Function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2246 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-14 06:14:15 +00:00
7faa883665 Update documentation a LOT, make it more accurate and match current model
better.  Still more room for improvement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2245 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-14 06:13:44 +00:00
441d25a9f6 * Allow datasize to be specified on the commandline
* Build new datatypes correctly
* Transform instructions that return null pointers from functions to return
  a null index.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2244 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 23:13:18 +00:00
ea24924732 * Fix bug: test/Regression/Verifier/2002-04-13-RetTypes.ll
* Check that arguments match the method types of the method they live in


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2243 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 22:48:46 +00:00
cbec8be8f8 New testcase for the verifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2242 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 22:46:24 +00:00
ff5c296498 Minor bugfix for previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2241 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 21:11:04 +00:00
2761e9f076 * Remove obselete code for unsized arrays
* Add new function printTypeAtLeastOneLevel used to...
* Print the symbol table *WITH SYMBOLIC TYPES*.  Now we get:
       %tree = type { int, %tree*, %tree* }
  in the type definition section of the disassembled output instead of
       %tree = type { int, \2*, \2* }
  the different for the health benchmark and power are simply amazing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2240 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 20:53:41 +00:00
ddcbd34f56 * Give alloca's for pool descriptors better names than "pool<n>".
* Fill in the pool descriptor links in the pool descriptors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2239 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 19:52:54 +00:00
027a6755f8 * Add names to the symbol table for pool types and modified types
* Handle more complex structure so that power works almost
* Fix bug with pooldestroy call where we passed in the size of the object
  instead of the pool to destroy.  bisort is now pool allocated successfully!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2238 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 19:25:57 +00:00
f33fa6fb57 Add Module::getTypeName
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2237 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 18:58:33 +00:00
3e5fe173bb Add info about the StringList class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2236 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 18:35:59 +00:00
94dc1f29cd * Clean up code to use isa & dyncast instead of poking directly into instructions
* Do not print the allocation size for a non array allocation (this used to work,
  but was broken).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2235 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 18:34:38 +00:00
30af368082 * Add the printm pass to allow dumping the entire module after a transformation.
* s/Method/Function/


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2234 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-13 18:32:47 +00:00
5146a7ddd4 Implement function rewriting to use offsets instead of pointers in programs.
This now works with treeadd at least, and perhaps other programs as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2233 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-12 20:23:15 +00:00
02b9399bae * Add comment
* Do not print a space before the * in a pointer type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2232 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-12 18:21:53 +00:00
9d6e7eb74f Expose funcresolve pass through opt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2231 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-12 18:21:13 +00:00
23f0ce6102 Add new check of return value type matching ret instruction values types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2230 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-12 18:20:49 +00:00
e7eaf17158 Fix pure virtual function called exception!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2229 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-12 18:19:45 +00:00
f678dc6469 Handle the FP format problem, where outputed FP constants were not precise
enough.  This fixes compilation of the health benchmark.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2228 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-11 21:44:02 +00:00
f8b90ee366 * The cleangcc pass is broken into two parts, we only want to
FunctionResolvingPass one.
* We run it *after* the symbol stripping pass so that -strip can be
  pipelined with the constant merging pass or something else if desired.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2226 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:37:47 +00:00
6a1f6940a1 The cleangcc pass is brokeninto two pieces, execute both of them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2225 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:33:32 +00:00
265b083e84 * Add documentation
* Split the CleanGCC pass into two passes, a global pass and an IP pass.
  Before it was just a global pass, but it did illegal things to the
  module, which broke other passes that were being scheduled with it by
  gccld.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2224 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:33:11 +00:00
5648b58a19 Print out what the root of the call graph is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2223 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:31:44 +00:00
b59d8199e0 Split the CleanupGCCOutput pass into two passes, and add real life actual
documentation on when they do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2222 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:31:22 +00:00
0e52e3e221 Allow a pass to obtain an analysis result for updating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2221 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 20:30:44 +00:00
b49cebb26a New testcase for structure valued parameters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2220 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-10 17:43:40 +00:00
ca180c7ca3 Implement TODO, fixing bug:
test/Regression/Transforms/LevelRaise/2002-04-09-MissedRaise.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2219 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 20:53:36 +00:00
b55a5b47e2 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2218 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 20:43:18 +00:00
e06e9146ee Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2217 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:59:31 +00:00
73e214244f Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2216 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:48:49 +00:00
b62fc4a9b1 Eliminate unneccesary extraneous iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2215 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:46:27 +00:00
4674804d29 Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

Rename some yacc type names to be more concise.  Change jump table to use
a vector instead of a list.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2214 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:41:42 +00:00
b972f95b15 Update comment to reflect class name change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2213 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:40:40 +00:00
8a9acc9c72 Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

Move implementation to Function.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2212 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:39:58 +00:00
80dd50b4aa Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.

Move Argument implementation to Function.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2211 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:39:35 +00:00
6c7fd1f414 Move FunctionArgument out of iOther.h into Argument.h and rename class to
be 'Argument' instead of FunctionArgument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2210 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:36:56 +00:00
0ac5429ff0 Add explicit #includes of Function.h to make up for the removed #include
in iOther.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2209 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:08:28 +00:00
d6a8ca745d Use explicit .get() calls to avoid having to #include Function.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2208 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 19:07:44 +00:00
42a412711c Add #includes to make up for #includes pruned out of header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2207 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:37:46 +00:00
991bc4eb80 Add a couple of extra casts to avoid extra #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2206 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:37:08 +00:00
1413747bb4 Add a couple of extra casts to avoid having to add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2205 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:36:52 +00:00
a6fd4b0d82 Use .get() explicitly and add a few extra casts to avoid 2 #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2204 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:36:05 +00:00
184b2fa1b9 Use opaque decl instead of #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2203 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:35:38 +00:00
cc5933c47e iUse new form of pop_back to make code more concise
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2202 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:02:02 +00:00
9bbf99de5f No need to reserve space, erasing does not change the size of the container.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2201 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:01:21 +00:00
8929cc230a Rewrite MachineCodeForBasicBlock in terms of containment rather than
inheritance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2200 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 18:00:49 +00:00
73c8d7520f Delete NOP instructions as they are eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2199 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-09 15:05:04 +00:00