Chris Lattner
|
356f5a13f5
|
Dereferencing end() is bad.
llvm-svn: 15402
|
2004-08-01 09:51:42 +00:00 |
Chris Lattner
|
1cabced74b
|
Add some immediate forms, make name optional
llvm-svn: 15401
|
2004-08-01 09:36:44 +00:00 |
Chris Lattner
|
f40e4ebf19
|
Be picky
llvm-svn: 15400
|
2004-08-01 08:55:34 +00:00 |
Chris Lattner
|
29d8ac77e1
|
Instructions no longer need to have names.
llvm-svn: 15399
|
2004-08-01 08:38:17 +00:00 |
Chris Lattner
|
27fcf976f2
|
Eliminate 3 of the X86 printImplicit* flags.
llvm-svn: 15398
|
2004-08-01 08:23:17 +00:00 |
Chris Lattner
|
e42675f5af
|
Get rid of 3 of the 4 'printimplicit' flags. Implicit operands are now
explicitly listed in the asm string.
llvm-svn: 15397
|
2004-08-01 08:22:29 +00:00 |
Chris Lattner
|
f6bd77190e
|
Convert more instructions over to the asmprinter
llvm-svn: 15396
|
2004-08-01 08:13:11 +00:00 |
Chris Lattner
|
06cf67ee14
|
Handle registers a bit more efficiently
llvm-svn: 15395
|
2004-08-01 08:12:41 +00:00 |
Chris Lattner
|
ba52a58836
|
give FP stack registers names
llvm-svn: 15394
|
2004-08-01 08:12:13 +00:00 |
Chris Lattner
|
275d98dcbb
|
Switch more instructions over to using the asmprinter. Fix bugs in the emission
of in/out instructions (missing %'s on registers).
llvm-svn: 15393
|
2004-08-01 07:44:35 +00:00 |
Chris Lattner
|
d5540021fc
|
The tblgen'erated asmparser wants a way to print operands.
llvm-svn: 15392
|
2004-08-01 07:43:46 +00:00 |
Chris Lattner
|
65512a0c49
|
Add support for asm printing machine instructions that have operands.
llvm-svn: 15391
|
2004-08-01 07:43:02 +00:00 |
Chris Lattner
|
5572682faa
|
Parse the operand list of the instruction. We currently support register and immediate operands.
llvm-svn: 15390
|
2004-08-01 07:42:39 +00:00 |
Chris Lattner
|
9520d20c83
|
Rename the Printer class -> X86AsmPrinter.
Include the tablegenerated assembly writer.
llvm-svn: 15389
|
2004-08-01 06:02:08 +00:00 |
Chris Lattner
|
1d21ea7f1f
|
Factor a bunch of the rules and add support for generating the asmwriter.
llvm-svn: 15388
|
2004-08-01 06:01:32 +00:00 |
Chris Lattner
|
321763358b
|
Specify an asm string and operands lists for a bunch of instructions.
This only really covers no-operand instructions so far.
llvm-svn: 15387
|
2004-08-01 06:01:00 +00:00 |
Chris Lattner
|
1c4ae85035
|
Initial cut at an asm writer emitter. So far, this only handles emission of
instructions, and only instructions that take no operands at that!
llvm-svn: 15386
|
2004-08-01 05:59:33 +00:00 |
Chris Lattner
|
c860ecafe1
|
Add, and start using, the CodeGenInstruction class. This class represents
an instance of the Instruction tablegen class.
llvm-svn: 15385
|
2004-08-01 05:04:00 +00:00 |
Chris Lattner
|
fd6893837c
|
Add the 'ops' marker, add an AsmString initializer
llvm-svn: 15383
|
2004-08-01 04:40:43 +00:00 |
Chris Lattner
|
fce9603387
|
Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)
llvm-svn: 15382
|
2004-08-01 04:04:35 +00:00 |
Chris Lattner
|
6847866400
|
Finegrainify namespacification
llvm-svn: 15381
|
2004-08-01 03:55:39 +00:00 |
Chris Lattner
|
6971be8159
|
Completely disable the pattern isel until it is more substantial.
llvm-svn: 15380
|
2004-08-01 03:28:02 +00:00 |
Chris Lattner
|
70d2260eb9
|
Entirely eliminate all patterns and expanders from this file. We shall go
with an incremental approach rather than a revolutionary approach.
llvm-svn: 15379
|
2004-08-01 03:25:01 +00:00 |
Chris Lattner
|
fc24e838a6
|
Move the 'Expander' node to later in the file, with the other experimental
stuff. The pattern becomes a list, add some stuff, add some comments.
llvm-svn: 15378
|
2004-08-01 03:23:34 +00:00 |
Chris Lattner
|
06bfc0d930
|
Remove obsolete file
llvm-svn: 15377
|
2004-08-01 03:19:28 +00:00 |
Alkis Evlogimenos
|
62c979ba07
|
Make OptimizeBlock take a MachineFunction::iterator instead of a
MachineBasicBlock* as a parameter so that nxext() and prior() helper
functions can work naturally on it.
llvm-svn: 15376
|
2004-07-31 19:24:41 +00:00 |
Chris Lattner
|
0f1c2ed907
|
Next on a pointer increments the pointer, not an iterator
llvm-svn: 15375
|
2004-07-31 18:40:36 +00:00 |
Alkis Evlogimenos
|
2303d3f660
|
Use next() helper to make code more readable. Use
MachineFunction::iterator instead of MachineBasicBlock* to avoid
dereferencing end iterators.
llvm-svn: 15373
|
2004-07-31 15:14:29 +00:00 |
Alkis Evlogimenos
|
1e8d8fd81f
|
Use MachineFunction::iterator instead of a MachineBasicBlock* because
FallThrough maybe == to MF.end().
llvm-svn: 15372
|
2004-07-31 15:03:52 +00:00 |
Alkis Evlogimenos
|
bb635a27a4
|
Align breaks.
llvm-svn: 15371
|
2004-07-31 10:05:44 +00:00 |
Chris Lattner
|
05f716a972
|
Expose breakcriticaledges as a functionpass
llvm-svn: 15370
|
2004-07-31 10:02:24 +00:00 |
Chris Lattner
|
7471b96a05
|
Expose this as a functionpass
llvm-svn: 15369
|
2004-07-31 10:01:58 +00:00 |
Chris Lattner
|
25e48dd2e0
|
Implement a simple target-independent CFG cleanup pass
llvm-svn: 15368
|
2004-07-31 10:01:27 +00:00 |
Chris Lattner
|
e9d767aa75
|
New pass
llvm-svn: 15367
|
2004-07-31 09:59:14 +00:00 |
Chris Lattner
|
7e7739c431
|
Expose some helpful methods
llvm-svn: 15366
|
2004-07-31 09:59:04 +00:00 |
Chris Lattner
|
fcef7655fa
|
Add breaks
llvm-svn: 15365
|
2004-07-31 09:53:31 +00:00 |
Alkis Evlogimenos
|
ce15f8f4c9
|
Simplify code a bit.
llvm-svn: 15364
|
2004-07-31 09:44:32 +00:00 |
Alkis Evlogimenos
|
aaf642103a
|
Correctly spell 'unconditional'.
llvm-svn: 15363
|
2004-07-31 09:41:44 +00:00 |
Alkis Evlogimenos
|
f57d78a87d
|
Implement insertGoto and reverseBranchCondition for the X86.
llvm-svn: 15362
|
2004-07-31 09:38:47 +00:00 |
Alkis Evlogimenos
|
cf63cb8be2
|
Change signature to take two basic blocks: the target and the one
where the goto will be appended.
llvm-svn: 15361
|
2004-07-31 09:37:52 +00:00 |
Alkis Evlogimenos
|
d6e20fbe12
|
Doxygenify some comments.
llvm-svn: 15360
|
2004-07-31 08:57:27 +00:00 |
Alkis Evlogimenos
|
91eae7e3d2
|
Remove const from iterators passed by value.
llvm-svn: 15359
|
2004-07-31 08:55:23 +00:00 |
Alkis Evlogimenos
|
12312ecfef
|
Add declarations for insertGoto and reverseBranchCondition.
llvm-svn: 15358
|
2004-07-31 08:52:30 +00:00 |
Chris Lattner
|
4504b95801
|
I'm pretty sure that ba is branch always, which is a barrier. Brg should
check this :)
llvm-svn: 15357
|
2004-07-31 02:24:37 +00:00 |
Chris Lattner
|
66a13e230d
|
Mark barrier instructions. Execution does not fall through uncond branches
or return intructions.
llvm-svn: 15356
|
2004-07-31 02:10:53 +00:00 |
Chris Lattner
|
fd4558862c
|
Support new flag
llvm-svn: 15355
|
2004-07-31 02:07:26 +00:00 |
Chris Lattner
|
2ab1142138
|
New flag
llvm-svn: 15354
|
2004-07-31 02:07:07 +00:00 |
Chris Lattner
|
8b3f7d93ea
|
Add new M_BARRIER_FLAG flag, and isBarrier() method to TargetInstrInfo
opCode -> Opcode
llvm-svn: 15353
|
2004-07-31 02:06:48 +00:00 |
Chris Lattner
|
3bf31d75a0
|
Add some machine CFG related stuff
llvm-svn: 15352
|
2004-07-31 01:59:11 +00:00 |
Tanya Lattner
|
081fbd1bde
|
Updated ModuloScheduling. It makes it all the wya through register allocation on the new code!!
llvm-svn: 15351
|
2004-07-30 23:36:10 +00:00 |