Commit Graph

266348 Commits

Author SHA1 Message Date
Misha Brukman 87cbd97710 The actual order of parameters in a 2-reg-immediate assembly instructions is
"rs1, imm, rd": most importantly, rd goes last.

llvm-svn: 6456
2003-05-31 04:22:26 +00:00
Chris Lattner 1656f61b93 New testcase
llvm-svn: 6454
2003-05-30 21:03:00 +00:00
Misha Brukman d137d6ba65 Since malloc is no longer used, no need to free() memory.
Fixed BasicBlock patching by supplying correct type for the displacement.

llvm-svn: 6453
2003-05-30 20:39:37 +00:00
Misha Brukman 736e6172dc When converting virtual registers to immediate constants, change the opcode.
llvm-svn: 6452
2003-05-30 20:36:27 +00:00
Misha Brukman 94908b010e Added saveBBreferences() for BasicBlock resolution.
llvm-svn: 6451
2003-05-30 20:32:45 +00:00
Misha Brukman 027b3d899f getValueOp() now takes a MachineInstr as well as a MachineOperand.
llvm-svn: 6450
2003-05-30 20:32:01 +00:00
Misha Brukman 5bf351c880 Added:
* ability to save BasicBlock references to be resolved later
* register remappings from the enum values to the real hardware numbers

llvm-svn: 6449
2003-05-30 20:17:33 +00:00
Misha Brukman 0757de607a Fixed the namespace to match SparcInternals.h; added notes on some missing
sections of instructions.

llvm-svn: 6448
2003-05-30 20:15:59 +00:00
Misha Brukman 8747377292 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.

llvm-svn: 6447
2003-05-30 20:12:42 +00:00
Misha Brukman a853af587a 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.

llvm-svn: 6446
2003-05-30 20:11:56 +00:00
Misha Brukman c1830a472a Make LLI behave just like LLC with regard to the compile passes it uses.
llvm-svn: 6444
2003-05-30 20:00:13 +00:00
Chris Lattner fdb2f4b7cd Add SRoA pass to gccas
llvm-svn: 6442
2003-05-30 19:24:06 +00:00
Chris Lattner 49fac80010 Move indvars pass after mem2reg pass where it is more likely to be useful
llvm-svn: 6441
2003-05-30 19:23:10 +00:00
Chris Lattner 0078d9c5bb 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.

llvm-svn: 6440
2003-05-30 19:22:14 +00:00
Misha Brukman 39dfa6a920 Made the register and immediate versions of instructions consecutive.
llvm-svn: 6439
2003-05-30 19:14:01 +00:00
Chris Lattner d847be0539 add a check that allows the SRoA pass to avoid breaking programs, even if their
behavior is technically undefined

llvm-svn: 6438
2003-05-30 18:09:57 +00:00
Misha Brukman f6e4dce74c 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.

llvm-svn: 6437
2003-05-30 18:06:10 +00:00
Tanya Lattner e996d0a3cd Sorry, correcting small typo.
llvm-svn: 6433
2003-05-30 15:53:50 +00:00
John Criswell 857ec18910 Added configurable options for the Linker and Archiver.
llvm-svn: 6432
2003-05-30 15:50:31 +00:00
Tanya Lattner 71e56e278c 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.

llvm-svn: 6431
2003-05-30 15:50:18 +00:00
Tanya Lattner 84e5004a78 Added support for cloning a trace.
llvm-svn: 6430
2003-05-30 15:48:23 +00:00
Brian Gaeke d380f29377 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.

llvm-svn: 6429
2003-05-30 08:02:14 +00:00
Chris Lattner 38d88c07f4 Fix bug: ScalarRepl/2003-05-30-MultiLevel.ll
llvm-svn: 6428
2003-05-30 05:26:30 +00:00
Chris Lattner 0eef7c0d10 New testcase
llvm-svn: 6427
2003-05-30 05:26:08 +00:00
Chris Lattner 6e5398d69d Fix bug: ScalarRepl/2003-05-29-ArrayFail.ll
llvm-svn: 6425
2003-05-30 04:15:41 +00:00
Brian Gaeke a0967e52e9 Fix call to mmap, so that it can be used on sparc.
llvm-svn: 6424
2003-05-30 03:37:13 +00:00
Guochun Shi 856ee9154f so far everything compiles
llvm-svn: 6423
2003-05-30 00:17:09 +00:00
Sumant Kowshik 2618272dad Implementation of Equivalence Classes
llvm-svn: 6422
2003-05-29 22:44:25 +00:00
Sumant Kowshik 32d1b6e7ac Changes to support function pointers
llvm-svn: 6421
2003-05-29 22:43:46 +00:00
Sumant Kowshik 04c1382291 Added support for function pointers
llvm-svn: 6420
2003-05-29 22:42:44 +00:00
Misha Brukman 064192d260 Prevent lines from wrapping.
llvm-svn: 6419
2003-05-29 22:12:35 +00:00
Dinakar Dhurjati 55512b1873 Added documentation for the project options
llvm-svn: 6418
2003-05-29 21:49:00 +00:00
Chris Lattner f9079b0fe3 New testcase
llvm-svn: 6417
2003-05-29 21:07:34 +00:00
Chris Lattner db34fb511d Get rid of extraneous ""s
llvm-svn: 6416
2003-05-29 20:40:32 +00:00
Chris Lattner 6c81ebc97d Add comment
llvm-svn: 6415
2003-05-29 20:26:30 +00:00
Chris Lattner 01246aa56d Initial checkin
llvm-svn: 6414
2003-05-29 20:24:54 +00:00
Chris Lattner dc79514f6e New testcases
llvm-svn: 6412
2003-05-29 20:15:35 +00:00
Misha Brukman 6ada87e6eb Since there is now another derived .inc file, ignore them all.
llvm-svn: 6411
2003-05-29 20:15:27 +00:00
Misha Brukman 9175a5de53 Use an absolute path to TableGen because not everyone (e.g. automatic tester)
has their path set up by this point.

llvm-svn: 6410
2003-05-29 20:09:56 +00:00
Misha Brukman 3484432e4e Added a path to the current version of the built TableGen.
llvm-svn: 6409
2003-05-29 20:09:23 +00:00
Chris Lattner da7231e89c Check in old tests
llvm-svn: 6408
2003-05-29 19:17:51 +00:00
Chris Lattner 38f09ca4c4 Minor reordering of options
llvm-svn: 6407
2003-05-29 19:16:55 +00:00
John Criswell 9cca31fb4e Removed configuration options that are better served in Makefile.config.
Fixed the LibInstDir macro.
Added the use of the FLEX variable.

llvm-svn: 6405
2003-05-29 18:52:10 +00:00
John Criswell 285dc4f5d7 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.

llvm-svn: 6404
2003-05-29 18:51:11 +00:00
Misha Brukman bb053cefe8 Added the target-independent part of TableGen data.
llvm-svn: 6403
2003-05-29 18:48:17 +00:00
Dinakar Dhurjati 41f7748489 Added project options to the Makefile.common
llvm-svn: 6402
2003-05-29 16:18:20 +00:00
Chris Lattner d339f98844 Run more post-link xforms
llvm-svn: 6400
2003-05-29 15:16:45 +00:00
Chris Lattner 03ef2fc167 Change tests to use testrunner
new test

llvm-svn: 6399
2003-05-29 15:16:10 +00:00
Chris Lattner 4c46c95247 Fix formatting in file
llvm-svn: 6398
2003-05-29 15:13:15 +00:00
Chris Lattner f789f29aaa Eliminate unnecessary ->get calls that are now automatically handled.
llvm-svn: 6397
2003-05-29 15:12:27 +00:00