Commit Graph

24303 Commits

Author SHA1 Message Date
Vikram S. Adve ebfa4bd437 Added directory InstrSched.
llvm-svn: 401
2001-08-28 23:16:13 +00:00
Vikram S. Adve 245b5b0691 Major changes too hard to document :-)
llvm-svn: 400
2001-08-28 23:12:57 +00:00
Vikram S. Adve 23e59b70cd Extensive additions for supporting instruction scheduling.
llvm-svn: 398
2001-08-28 23:10:41 +00:00
Vikram S. Adve 742086f200 Added class MachineSchedInfo and several supporting classes
as a machine description for instruction scheduling.

llvm-svn: 397
2001-08-28 23:09:36 +00:00
Vikram S. Adve 3148b83485 Implementation of instruction scheduling for LLVM.
Currently schedules one basic block at a time.

llvm-svn: 396
2001-08-28 23:07:19 +00:00
Vikram S. Adve 138c3bb667 Class that encapsulates priority heuristics for instruction scheduling.
llvm-svn: 395
2001-08-28 23:06:49 +00:00
Vikram S. Adve 754c4dd6ae Scheduling DAG for instruction scheduling. Currently for a single basic block.
llvm-svn: 394
2001-08-28 23:06:02 +00:00
Vikram S. Adve 8641f9dca0 Moved debug options declaration to header file, and moved
a function to MachineInstr.cpp.

llvm-svn: 393
2001-08-28 23:04:38 +00:00
Vikram S. Adve 5f72f42aee Moved function PrintMachineInstructions here.
llvm-svn: 392
2001-08-28 23:02:39 +00:00
Chris Lattner b6aa2334f4 I suck
llvm-svn: 385
2001-08-27 18:54:45 +00:00
Chris Lattner 53bbf0783b Initial checkin of TargetData code
llvm-svn: 384
2001-08-27 16:00:15 +00:00
Chris Lattner 6c5cbe3f60 Convert to use the new factored out TargetData class
llvm-svn: 381
2001-08-27 15:51:16 +00:00
Chris Lattner 8dd99f33ea Factor code out to the TargetData class
llvm-svn: 380
2001-08-27 15:50:41 +00:00
Chris Lattner 827c2a1d7c Demolish explicit source list
llvm-svn: 375
2001-08-27 05:18:35 +00:00
Chris Lattner f04f646c1b Remove explicit source list
llvm-svn: 371
2001-08-25 20:40:32 +00:00
Vikram S. Adve 1700068262 Always set isDef for operand in position resultPos.
llvm-svn: 357
2001-08-13 16:32:45 +00:00
Ruchira Sasanka 6dec5fe042 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 20429a47e5 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 c82322c526 *** empty log message ***
llvm-svn: 351
2001-08-07 21:01:23 +00:00
Ruchira Sasanka 4ac2975f5a added a default isDef arg to SetMachineOperand method - Ruchira
llvm-svn: 350
2001-08-07 20:16:52 +00:00
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 45317ad6cc Also, move burg rule to Makefile.common.
llvm-svn: 346
2001-08-06 19:06:56 +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 058ff319fd Use full pathname for burg.
llvm-svn: 342
2001-08-06 18:53:26 +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 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 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 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 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 ab0cc40796 CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
args as the objects they represent and the "right thing" will happen

llvm-svn: 283
2001-07-23 19:27:24 +00:00
Chris Lattner 78a307b170 Eliminated the Unique class in favor of NonCopyable and NonCopyableV
llvm-svn: 280
2001-07-23 18:26:21 +00:00
Chris Lattner e2472bbf6c Moved inline/llvm/Tools/* to include/llvm/Support/*
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner 44187dbff1 Clean up hash table usage
Remove opaque pointer used for C compatibility which isn't an issue

llvm-svn: 275
2001-07-23 03:50:57 +00:00
Chris Lattner d8f1cc98e8 Removal of the redundant CompileContext wrapper
llvm-svn: 274
2001-07-23 03:09:03 +00:00
Chris Lattner 0af2464a78 Large scale changes to implement new command line argument facility
llvm-svn: 272
2001-07-23 02:35:57 +00:00
Chris Lattner 9c0f8f24e0 Privatize LLCOptions. It had no business being visible to the entire
program.

llvm-svn: 267
2001-07-22 04:40:02 +00:00
Chris Lattner b299068101 Eliminate lots of unnecessary #includes and forward decls
there are probably more to kill

llvm-svn: 261
2001-07-21 23:24:48 +00:00
Chris Lattner 7769970e16 Eliminate many unneccesary #includes
llvm-svn: 260
2001-07-21 22:59:56 +00:00
Chris Lattner 7cad6f14b8 Make code fit in 80 columns more
llvm-svn: 259
2001-07-21 22:57:05 +00:00
Chris Lattner eb68f3263c Remove unneccesary #includes
llvm-svn: 258
2001-07-21 22:53:35 +00:00
Chris Lattner 293e80559c Exterminate nasty Cisms
llvm-svn: 257
2001-07-21 22:42:09 +00:00
Chris Lattner bdb56b1639 Refer to include/llvm/CodeGen not Codegen
llvm-svn: 256
2001-07-21 22:32:34 +00:00
Chris Lattner dd511760d9 Renamed include/llvm/Codegen to include/llvm/CodeGen
llvm-svn: 253
2001-07-21 20:58:30 +00:00
Vikram S. Adve 656823944e Description of the SPARC as a target architecture.
llvm-svn: 233
2001-07-21 12:42:19 +00:00
Vikram S. Adve 3414e78e29 Base clas for a description of a target architecture.
llvm-svn: 232
2001-07-21 12:42:08 +00:00
Vikram S. Adve ab9e557102 Instruction selection via pattern matching on instruction trees using BURG.
llvm-svn: 231
2001-07-21 12:41:50 +00:00
Vikram S. Adve 9c049ca36c *** empty log message ***
llvm-svn: 230
2001-07-21 12:41:01 +00:00