Commit Graph

166645 Commits

Author SHA1 Message Date
Vikram S. Adve 22db4f9b7c Add CC operand as 4th operand of SUBcc, and mark it as a def.
llvm-svn: 348
2001-08-06 21:06:10 +00:00
Vikram S. Adve 13090bd303 Use extra operand for instructions that set a CC register that
was not explicit before.

llvm-svn: 347
2001-08-06 21:05:39 +00:00
Vikram S. Adve 45317ad6cc Also, move burg rule to Makefile.common.
llvm-svn: 346
2001-08-06 19:06:56 +00:00
Vikram S. Adve 75b9add9fa And add rule to create a .cpp source file from burg input file!
llvm-svn: 345
2001-08-06 19:06:43 +00:00
Vikram S. Adve ed242ccea0 Better still, lets move pathname for Burg to Makefile.common.
llvm-svn: 344
2001-08-06 19:01:45 +00:00
Vikram S. Adve ca4a382bf7 Add path and options for burg.
llvm-svn: 343
2001-08-06 19:01:20 +00:00
Vikram S. Adve 058ff319fd Use full pathname for burg.
llvm-svn: 342
2001-08-06 18:53:26 +00:00
Vikram S. Adve 701a698d43 Allow numOperands of -1 for variable #operands.
llvm-svn: 341
2001-07-31 21:55:51 +00:00
Vikram S. Adve 527c8955de Simplify command line options, and add option for printing
machine instructions without debugging info.

llvm-svn: 340
2001-07-31 21:53:25 +00:00
Vikram S. Adve 5abe128752 Had used the wrong option.
llvm-svn: 339
2001-07-31 21:52:28 +00:00
Vikram S. Adve c746fbb806 Added tree nodes for Phi instructions.
llvm-svn: 338
2001-07-31 21:50:29 +00:00
Vikram S. Adve 1c73bc1c1f Generate tree nodes for Phi instructions.
llvm-svn: 337
2001-07-31 21:49:53 +00:00
Vikram S. Adve ff7070bbb9 Allow machine instructions with variable numbers of arguments.
This is used only by Phi for now.

llvm-svn: 336
2001-07-31 21:49:28 +00:00
Vikram S. Adve 5af4076380 Added dummy Phi instruction.
llvm-svn: 335
2001-07-31 21:48:23 +00:00
Vikram S. Adve e335821b08 Generate dummy Phi machine instruction, plus a bug fix for BrCond(boolreg).
llvm-svn: 334
2001-07-31 21:46:57 +00:00
Vikram S. Adve a223748a52 Added support for testing instruction selection on all but 2 tests.
llvm-svn: 333
2001-07-31 21:45:56 +00:00
Vikram S. Adve 06c30a0419 Added class MachineCodeForBasicBlock.
llvm-svn: 332
2001-07-30 18:49:07 +00:00
Vikram S. Adve da0c7d89bc Record machine instructions in the vector for each basic block.
llvm-svn: 331
2001-07-30 18:48:43 +00:00
Vikram S. Adve 32b5d841ba Added vector of machine instructions for the basic block.
llvm-svn: 330
2001-07-30 18:47:24 +00:00
Chris Lattner bf22504107 New test cases
llvm-svn: 329
2001-07-28 18:04:10 +00:00
Chris Lattner 3f14c66890 Remove some gross stuff
llvm-svn: 328
2001-07-28 17:52:53 +00:00
Chris Lattner e0c6a09883 Allow vararg method types with 0 fixed types
llvm-svn: 327
2001-07-28 17:52:35 +00:00
Chris Lattner e76a335f5b Make error msg nicer
llvm-svn: 326
2001-07-28 17:52:14 +00:00
Chris Lattner b62b602fe2 Enable the elimination of method prototypes that are not referenced
llvm-svn: 325
2001-07-28 17:51:49 +00:00
Chris Lattner f324dc82a1 * Make sure that the size of the type field can also control the output
instruction pattern.

llvm-svn: 324
2001-07-28 17:51:21 +00:00
Chris Lattner 5bdab0f9ad * Add calls to failure template so that it is actually possible to debug
why bytecode parsing is failing.  Just put a breakpoint in the failure
  templates.

llvm-svn: 323
2001-07-28 17:50:18 +00:00
Chris Lattner 2091efbc0a * Fix bugs
llvm-svn: 322
2001-07-28 17:49:02 +00:00
Chris Lattner 26e50dc0c3 * Enable the use of escaped literal strings
* Unresolved variable names now have the correct line number for their
  error messages
* Rename Def* to Value*
* Check for symbol table collisions before inserting values
* Remove the STRING keyword
* Enable the use of string literals to initialize constant arrays
* Enable the use of extended constants in more locations: eg ret [int] [4, 5]
* Allow method prototypes to appear in the constant pool of the program
* Support varargs methods better.  Enable varargs methods with 0 fixed
  arguments
* Allow the entire method prototype to optionally be specified in a call inst

llvm-svn: 321
2001-07-28 17:48:55 +00:00
Chris Lattner 58b3b9a4da Modify var names to make it apparant that the code is really generic
llvm-svn: 320
2001-07-28 17:43:45 +00:00
Chris Lattner 44b939a328 Changes to make test scripts more reliable
llvm-svn: 319
2001-07-28 17:40:15 +00:00
Chris Lattner b58fdf0e5e Add test of string constants
llvm-svn: 318
2001-07-28 17:39:46 +00:00
Vikram S. Adve 222c518e1c Added function printIndent.
llvm-svn: 317
2001-07-28 04:41:27 +00:00
Vikram S. Adve 56324d34f7 Added a pointer hash function object for use in pointer maps.
llvm-svn: 316
2001-07-28 04:41:10 +00:00
Vikram S. Adve 0f32957dbb Make a function const.
llvm-svn: 315
2001-07-28 04:40:15 +00:00
Vikram S. Adve 6b1d4f349a Remove lib/LLC library.
llvm-svn: 314
2001-07-28 04:39:27 +00:00
Vikram S. Adve 72ffa4357c Added several SPARC instructions including conditional move and SETHI.
Added MachineInstrInfo class and subclass UltraSparcInstrInfo.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo).  Latency fields are to support scheduling.

llvm-svn: 313
2001-07-28 04:26:42 +00:00
Vikram S. Adve f72a942a3c Remove redundant and unused functions.
llvm-svn: 312
2001-07-28 04:20:33 +00:00
Vikram S. Adve 50204f5daa Added UltraSparcInstrInfo class to specialize class MachineInstrInfo.
Relevant changes elsewhere:
Added MachineInstrInfo class and moved instruction-related members there.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo.  Latency fields are to support scheduling.

llvm-svn: 311
2001-07-28 04:19:10 +00:00
Vikram S. Adve 985b6e3d13 Eliminate unused function.
llvm-svn: 310
2001-07-28 04:15:45 +00:00
Vikram S. Adve 150460321e Bug fixes:
Store bool result in register after SetCC if the bool value
is used by anything other than a branch.
Forward-substitute operand of a VM instruction for which no
machine instruction is generated (e.g., Cast).
Other changes due to changes to classes TargetMachine and MachineInstr.

llvm-svn: 309
2001-07-28 04:15:15 +00:00
Vikram S. Adve c429691751 Added MachineInstrInfo class and moved instruction-related members there.
Added several fields to MachineInstrDescriptor (and renamed it from
MachineInstrInfo.  Latency fields are to support scheduling.

llvm-svn: 308
2001-07-28 04:09:37 +00:00
Vikram S. Adve bff682dfac Eliminate separate enum for operand register type.
Use union for alternative data for different operand types.
Add iterator over Value* operands in a MachineInstr.

llvm-svn: 307
2001-07-28 04:06:37 +00:00
Chris Lattner 3a7aa63841 Work around a few 'sorting issues' with the bytecode output that causes the bytecode
not to be bit for bit identical.  This is a hack and should be fixed in the future

llvm-svn: 306
2001-07-26 16:30:18 +00:00
Chris Lattner ee998be490 Don't write out constants that do not have a name, they will be inlined.
llvm-svn: 305
2001-07-26 16:29:38 +00:00
Chris Lattner 252afbaf33 Refactor some of the constant stuff so that we can return complex constant
values directly.  This was causing test failures. :(

llvm-svn: 304
2001-07-26 16:29:15 +00:00
Chris Lattner 89d4dfbfba Add an arg to insertVal to allow us to prevent builtin types from being ignored
when they are inserted.

Ignore constant values without names.  If they are used, they will be inlined.

llvm-svn: 303
2001-07-26 16:28:37 +00:00
Chris Lattner 547bda8e18 Add an arg to insertVal to allow us to prevent builtin types from being ignored
when they are inserted

llvm-svn: 302
2001-07-26 16:28:18 +00:00
Chris Lattner 6bd07a6f51 New test for varargs functions
llvm-svn: 301
2001-07-25 22:49:12 +00:00
Chris Lattner d642454bba Add library dep
llvm-svn: 300
2001-07-25 22:48:43 +00:00
Chris Lattner 2d88a8ee37 Parenthesize output for expranalyze so that pointer stuff being multiplied isn't confusing
llvm-svn: 299
2001-07-25 22:48:37 +00:00