26541 Commits

Author SHA1 Message Date
Vikram S. Adve
89228a786c Moved function PrintMachineInstructions here.
llvm-svn: 392
2001-08-28 23:02:39 +00:00
Vikram S. Adve
fe68c73977 analyze() now checks to see that we don't analyze the same method twice.
Needs a mechnanism to override this check (e.g., after a transformation).

llvm-svn: 391
2001-08-28 22:36:35 +00:00
Vikram S. Adve
4c03772b2a *** empty log message ***
llvm-svn: 390
2001-08-28 22:35:21 +00:00
Chris Lattner
f3b74b4736 I suck
llvm-svn: 385
2001-08-27 18:54:45 +00:00
Chris Lattner
6336546710 Initial checkin of TargetData code
llvm-svn: 384
2001-08-27 16:00:15 +00:00
Chris Lattner
eaebbaf5bc Remove target specific stuff from Type classes
llvm-svn: 383
2001-08-27 15:52:13 +00:00
Chris Lattner
3b527dd79e Remove target specific method from MemAccessInst class
llvm-svn: 382
2001-08-27 15:51:43 +00:00
Chris Lattner
3eb05bbef1 Convert to use the new factored out TargetData class
llvm-svn: 381
2001-08-27 15:51:16 +00:00
Chris Lattner
6ea0dfcd7e Factor code out to the TargetData class
llvm-svn: 380
2001-08-27 15:50:41 +00:00
Chris Lattner
b04aee8d08 Support passing a data pointer to annotation factory methods
llvm-svn: 376
2001-08-27 05:19:10 +00:00
Chris Lattner
d2af693cd9 Demolish explicit source list
llvm-svn: 375
2001-08-27 05:18:35 +00:00
Chris Lattner
0a85e4845d Lots of new functionality
llvm-svn: 372
2001-08-27 05:16:50 +00:00
Chris Lattner
9eaf62df4a Remove explicit source list
llvm-svn: 371
2001-08-25 20:40:32 +00:00
Chris Lattner
a6357a1101 Make sure noone branches to the entry node of the method
llvm-svn: 369
2001-08-24 14:56:34 +00:00
Chris Lattner
d381beea6a Add annotation support
llvm-svn: 366
2001-08-23 17:07:56 +00:00
Chris Lattner
b2c70da37a Handle case where there is no exit node from a flowgraph
llvm-svn: 365
2001-08-23 17:07:19 +00:00
Chris Lattner
5882b500cf Changed an assertion message
llvm-svn: 364
2001-08-23 17:06:38 +00:00
Chris Lattner
8e225d7a21 Initial checkin of interpreter
llvm-svn: 361
2001-08-23 17:05:04 +00:00
Ruchira Sasanka
bc7068b2e4 LV code on machine instructions
llvm-svn: 360
2001-08-20 21:12:49 +00:00
Ruchira Sasanka
74f3230149 LV info on machine instructions
llvm-svn: 359
2001-08-20 21:11:01 +00:00
Vikram S. Adve
33b366f516 Always set isDef for operand in position resultPos.
llvm-svn: 357
2001-08-13 16:32:45 +00:00
Ruchira Sasanka
af7ba34d58 Changed SetMachineOpernad calls in Set3OperandsFromInstr so that the
result position is a def (i.e., added true to the end of call) -- Ruchira

llvm-svn: 356
2001-08-13 16:26:28 +00:00
Ruchira Sasanka
c75929f547 Changed case 64 to make the first arg of phi a defintion
llvm-svn: 355
2001-08-13 16:24:01 +00:00
Ruchira Sasanka
a6cea3a426 *** empty log message ***
llvm-svn: 351
2001-08-07 21:01:23 +00:00
Ruchira Sasanka
01c14da143 added a default isDef arg to SetMachineOperand method - Ruchira
llvm-svn: 350
2001-08-07 20:16:52 +00:00
Vikram S. Adve
d0579dd4ee 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
b1cd3ba259 Also, move burg rule to Makefile.common.
llvm-svn: 346
2001-08-06 19:06:56 +00:00
Vikram S. Adve
95ee2f4d4c Better still, lets move pathname for Burg to Makefile.common.
llvm-svn: 344
2001-08-06 19:01:45 +00:00
Vikram S. Adve
6e358709c6 Use full pathname for burg.
llvm-svn: 342
2001-08-06 18:53:26 +00:00
Vikram S. Adve
62f5a2a6bb 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
d5c5e27191 Added tree nodes for Phi instructions.
llvm-svn: 338
2001-07-31 21:50:29 +00:00
Vikram S. Adve
5dcec96655 Generate tree nodes for Phi instructions.
llvm-svn: 337
2001-07-31 21:49:53 +00:00
Vikram S. Adve
46dd49a011 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
a0061d1f8a 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
93d07dc925 Record machine instructions in the vector for each basic block.
llvm-svn: 331
2001-07-30 18:48:43 +00:00
Vikram S. Adve
a91d7cb350 Added vector of machine instructions for the basic block.
llvm-svn: 330
2001-07-30 18:47:24 +00:00
Chris Lattner
75298e1fd2 Remove some gross stuff
llvm-svn: 328
2001-07-28 17:52:53 +00:00
Chris Lattner
d22d55b65a Allow vararg method types with 0 fixed types
llvm-svn: 327
2001-07-28 17:52:35 +00:00
Chris Lattner
b3d06b4ec9 Make error msg nicer
llvm-svn: 326
2001-07-28 17:52:14 +00:00
Chris Lattner
a4b4e46e90 Enable the elimination of method prototypes that are not referenced
llvm-svn: 325
2001-07-28 17:51:49 +00:00
Chris Lattner
64c7f2be62 * 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
29c977bd03 * 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
92c31e1634 * Fix bugs
llvm-svn: 322
2001-07-28 17:49:02 +00:00
Chris Lattner
c6b1a790d1 * 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
Vikram S. Adve
ea2f7ed7e9 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
137f8efbf0 Eliminate unused function.
llvm-svn: 310
2001-07-28 04:15:45 +00:00
Vikram S. Adve
2ae79d3e16 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
ce164753ad 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
a6bcc3a47e 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
55c9388cc7 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