Commit Graph

6096 Commits

Author SHA1 Message Date
Misha Brukman
417a7c06e8 Since malloc is no longer used, no need to free() memory.
Fixed BasicBlock patching by supplying correct type for the displacement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6453 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:39:37 +00:00
Misha Brukman
88ba25444c When converting virtual registers to immediate constants, change the opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6452 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:36:27 +00:00
Misha Brukman
da3a8b19ce Added saveBBreferences() for BasicBlock resolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:32:45 +00:00
Misha Brukman
e7800b5458 getValueOp() now takes a MachineInstr as well as a MachineOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:32:01 +00:00
Misha Brukman
a9f7f6e25d Added:
* ability to save BasicBlock references to be resolved later
* register remappings from the enum values to the real hardware numbers


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6449 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:17:33 +00:00
Misha Brukman
f3453d1695 Fixed the namespace to match SparcInternals.h; added notes on some missing
sections of instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6448 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:15:59 +00:00
Misha Brukman
d3d97be4d1 The register types need to be visible outside of the class to be useful.
For one, converting register numbers based on class in the code emitter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6447 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:12:42 +00:00
Misha Brukman
7b647942ef Moved and expanded convertOpcodeFromRegToImm() to conver more opcodes.
Code beautification for the rest of the code: changed layout to match the rest
of the code base.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6446 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:11:56 +00:00
Misha Brukman
d1ef7a816e Make LLI behave just like LLC with regard to the compile passes it uses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6444 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:00:13 +00:00
Chris Lattner
42ed21b151 Add SRoA pass to gccas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6442 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 19:24:06 +00:00
Chris Lattner
4dc3535e7a Move indvars pass after mem2reg pass where it is more likely to be useful
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6441 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 19:23:10 +00:00
Chris Lattner
b37923f9a1 Okay totally give up on trying to optimize aggregates that cannot be completely
broken up into their elements.  Too many programs break because of this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6440 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 19:22:14 +00:00
Misha Brukman
ed36fd8da6 Made the register and immediate versions of instructions consecutive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6439 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 19:14:01 +00:00
Chris Lattner
26d2ca1d13 add a check that allows the SRoA pass to avoid breaking programs, even if their
behavior is technically undefined


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6438 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 18:09:57 +00:00
Misha Brukman
9b03633265 Because the format of the shift instructions is `shift r, shcnt, r', the
instructions of format 3.12 and 3.13 cannot inherit from F3rdrs1, because that
implies that the two registers are the first two parameters to the instruction.

Thus I made the instructions inherit from F3rd again, and manually added an rs1
field AFTER the shcnt field in the instruction, which maps to the appropriate
place in the instruction.

The other changes are just elimination of unnecessary spaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6437 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 18:06:10 +00:00
Tanya Lattner
7cf322f51b Sorry, correcting small typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:53:50 +00:00
John Criswell
794fcd2ef8 Added configurable options for the Linker and Archiver.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:50:31 +00:00
Tanya Lattner
6074d2f37a Added the CloneTrace function which clones traces. It takes a vector of basic blocks, removes
internal phi nodes, and returns a new vector of basic blocks.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:50:18 +00:00
Tanya Lattner
2c49fc023e Added support for cloning a trace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:48:23 +00:00
Brian Gaeke
9604416192 Makefile: Make SparcV9CodeEmitter.inc depend on SparcV9_F*.td as well.
SparcV9_F3.td: F3_12 and F3_13 instructions have rd and rs1 fields. Also,
 their fields were totally screwed up. This seems to fix the problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6429 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 08:02:14 +00:00
Chris Lattner
261d686737 Fix bug: ScalarRepl/2003-05-30-MultiLevel.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6428 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 05:26:30 +00:00
Chris Lattner
fa4c20dd92 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6427 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 05:26:08 +00:00
Chris Lattner
5e062a1eda Fix bug: ScalarRepl/2003-05-29-ArrayFail.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6425 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 04:15:41 +00:00
Brian Gaeke
6607fbec94 Fix call to mmap, so that it can be used on sparc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 03:37:13 +00:00
Guochun Shi
139f0c279d so far everything compiles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6423 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 00:17:09 +00:00
Sumant Kowshik
87a991eea3 Implementation of Equivalence Classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:44:25 +00:00
Sumant Kowshik
5e587d7a23 Changes to support function pointers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6421 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:43:46 +00:00
Sumant Kowshik
a78220fe2d Added support for function pointers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6420 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:42:44 +00:00
Misha Brukman
d57f3efbc7 Prevent lines from wrapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6419 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:12:35 +00:00
Dinakar Dhurjati
584dd186c8 Added documentation for the project options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6418 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 21:49:00 +00:00
Chris Lattner
aa8ca2df91 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6417 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 21:07:34 +00:00
Chris Lattner
f977143120 Get rid of extraneous ""s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6416 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:40:32 +00:00
Chris Lattner
faf4cc2da0 Add comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6415 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:26:30 +00:00
Chris Lattner
96191aba7d Initial checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6414 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:24:54 +00:00
Chris Lattner
2cc36e6997 New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6412 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:15:35 +00:00
Misha Brukman
6cf7f6d43d Since there is now another derived .inc file, ignore them all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6411 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:15:27 +00:00
Misha Brukman
6567975ec5 Use an absolute path to TableGen because not everyone (e.g. automatic tester)
has their path set up by this point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6410 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:09:56 +00:00
Misha Brukman
d58a6058b1 Added a path to the current version of the built TableGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6409 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 20:09:23 +00:00
Chris Lattner
265a0c19a1 Check in old tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6408 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 19:17:51 +00:00
Chris Lattner
5361c83ae9 Minor reordering of options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6407 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 19:16:55 +00:00
John Criswell
65aa593456 Removed configuration options that are better served in Makefile.config.
Fixed the LibInstDir macro.
Added the use of the FLEX variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6405 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 18:52:10 +00:00
John Criswell
d17eae37cc Moved the FLEX and BISON macros from Makefile.common since they are
configuration options like CC and CXX.
Updated LLVMGCCDIR so that it refers to the valid LLVM gcc code.
Added pathnames and flags to be used by some of the tests.
Moved configuration options from Makefile.common to here since they
should all be in one place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6404 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 18:51:11 +00:00
Misha Brukman
01c1638123 Added the target-independent part of TableGen data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6403 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 18:48:17 +00:00
Dinakar Dhurjati
ffb55cdae7 Added project options to the Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6402 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 16:18:20 +00:00
Chris Lattner
881a2bab05 Run more post-link xforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6400 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:16:45 +00:00
Chris Lattner
c9c41ee9d0 Change tests to use testrunner
new test


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6399 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:16:10 +00:00
Chris Lattner
e68e4d59e8 Fix formatting in file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6398 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:13:15 +00:00
Chris Lattner
ab2b328c78 Eliminate unnecessary ->get calls that are now automatically handled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6397 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:12:27 +00:00
Chris Lattner
ca398dc398 * Separate all of the grunt work of inlining out into the Utils library.
* Make the function inliner _significantly_ smarter.  :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6396 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:11:31 +00:00
Chris Lattner
f0afa50b6c Don't require the user to do something like isa<foo>(II->get()). The ->get
should be implicit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6395 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:08:33 +00:00