Chris Lattner
bbf765695f
* Remove lots of #includes
...
llvm-svn: 487
2001-09-07 21:19:42 +00:00
Chris Lattner
feb62c321e
Add tags so emacs knows these are C++ files
...
llvm-svn: 483
2001-09-07 21:04:20 +00:00
Chris Lattner
23fcc08d38
The header file for a translation unit should always be included first
...
System headers should be last
llvm-svn: 475
2001-09-07 17:18:30 +00:00
Chris Lattner
74d07801bf
A file should always include it's private header file *FIRST* see the
...
coding guidelines
llvm-svn: 474
2001-09-07 17:15:18 +00:00
Chris Lattner
4eb6d9fd85
annotations are now const
...
llvm-svn: 450
2001-09-07 16:40:04 +00:00
Ruchira Sasanka
4d30f4bb6c
*** empty log message ***
...
llvm-svn: 412
2001-08-31 20:59:58 +00:00
Vikram S. Adve
10db4c2551
Added nonterminals for arithmetic operations where one operand is constant.
...
llvm-svn: 406
2001-08-28 23:25:46 +00:00
Vikram S. Adve
59a091870a
Makefile for InstrSched/
...
llvm-svn: 403
2001-08-28 23:17:22 +00:00
Vikram S. Adve
27713047f4
Remove source list.
...
llvm-svn: 402
2001-08-28 23:16:59 +00:00
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