Chris Lattner
c40aa40525
give FP stack registers names
...
llvm-svn: 15394
2004-08-01 08:12:13 +00:00
Chris Lattner
6c596faddb
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
3a928f8119
The tblgen'erated asmparser wants a way to print operands.
...
llvm-svn: 15392
2004-08-01 07:43:46 +00:00
Chris Lattner
0dd4abcce9
Add support for asm printing machine instructions that have operands.
...
llvm-svn: 15391
2004-08-01 07:43:02 +00:00
Chris Lattner
350b76be29
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
e4c868ffa0
Rename the Printer class -> X86AsmPrinter.
...
Include the tablegenerated assembly writer.
llvm-svn: 15389
2004-08-01 06:02:08 +00:00
Chris Lattner
a02166d28b
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
9a7b050ebb
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
a983ac4661
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
09d6e317a8
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
91a07c84b1
Add the 'ops' marker, add an AsmString initializer
...
llvm-svn: 15383
2004-08-01 04:40:43 +00:00
Chris Lattner
07525455a6
Rename CodeGenWrappers.(cpp|h) -> CodeGenTarget.(cpp|h)
...
llvm-svn: 15382
2004-08-01 04:04:35 +00:00
Chris Lattner
2e8beb316b
Finegrainify namespacification
...
llvm-svn: 15381
2004-08-01 03:55:39 +00:00
Chris Lattner
101dccd430
Completely disable the pattern isel until it is more substantial.
...
llvm-svn: 15380
2004-08-01 03:28:02 +00:00
Chris Lattner
9bce44c8cc
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
d20c857ba0
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
0717ef353d
Remove obsolete file
...
llvm-svn: 15377
2004-08-01 03:19:28 +00:00
Alkis Evlogimenos
1dd3ea5515
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
ecca71ce92
Next on a pointer increments the pointer, not an iterator
...
llvm-svn: 15375
2004-07-31 18:40:36 +00:00
Alkis Evlogimenos
b28bc78d0a
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
143aeb646c
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
cdcb1c62e5
Align breaks.
...
llvm-svn: 15371
2004-07-31 10:05:44 +00:00
Chris Lattner
00ff5a4e35
Expose breakcriticaledges as a functionpass
...
llvm-svn: 15370
2004-07-31 10:02:24 +00:00
Chris Lattner
170b31f44d
Expose this as a functionpass
...
llvm-svn: 15369
2004-07-31 10:01:58 +00:00
Chris Lattner
7b12b8a13e
Implement a simple target-independent CFG cleanup pass
...
llvm-svn: 15368
2004-07-31 10:01:27 +00:00
Chris Lattner
ab1daf9f8a
New pass
...
llvm-svn: 15367
2004-07-31 09:59:14 +00:00
Chris Lattner
0829da11d7
Expose some helpful methods
...
llvm-svn: 15366
2004-07-31 09:59:04 +00:00
Chris Lattner
0d66480e9e
Add breaks
...
llvm-svn: 15365
2004-07-31 09:53:31 +00:00
Alkis Evlogimenos
1eb8a5dc09
Simplify code a bit.
...
llvm-svn: 15364
2004-07-31 09:44:32 +00:00
Alkis Evlogimenos
de150fb74b
Correctly spell 'unconditional'.
...
llvm-svn: 15363
2004-07-31 09:41:44 +00:00
Alkis Evlogimenos
bc3d550391
Implement insertGoto and reverseBranchCondition for the X86.
...
llvm-svn: 15362
2004-07-31 09:38:47 +00:00
Alkis Evlogimenos
e28642a6a5
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
b338ca7306
Doxygenify some comments.
...
llvm-svn: 15360
2004-07-31 08:57:27 +00:00
Alkis Evlogimenos
6308a8a8e0
Remove const from iterators passed by value.
...
llvm-svn: 15359
2004-07-31 08:55:23 +00:00
Alkis Evlogimenos
2ca8d29454
Add declarations for insertGoto and reverseBranchCondition.
...
llvm-svn: 15358
2004-07-31 08:52:30 +00:00
Chris Lattner
c21741420c
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
9a23ab1e63
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
5c5c16ec21
Support new flag
...
llvm-svn: 15355
2004-07-31 02:07:26 +00:00
Chris Lattner
6ff86f8af6
New flag
...
llvm-svn: 15354
2004-07-31 02:07:07 +00:00
Chris Lattner
d46a44390f
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
6f4beb3664
Add some machine CFG related stuff
...
llvm-svn: 15352
2004-07-31 01:59:11 +00:00
Tanya Lattner
e757e5a231
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
Misha Brukman
8209358fca
* Conditional save/restore of LR disabled as it's not quite correct
...
* sumarray2d fixed: large fixed-size alloca
* make is now compileable
* Re-organized tests to fit them under proper headings
Patch by Nate Begeman.
llvm-svn: 15347
2004-07-30 15:53:09 +00:00
Misha Brukman
f0c6eaca10
Do not mark LR as callee-save: not quite correctly done. Patch: Nate Begeman.
...
llvm-svn: 15346
2004-07-30 15:51:51 +00:00
Misha Brukman
27ced926da
* Temporarily suspend LR save/restore optimization as it is not quite correct
...
* Implement large fixed-size allocas Entire patch by Nate Begeman.
llvm-svn: 15345
2004-07-30 15:50:45 +00:00
Misha Brukman
33a80cd54d
Enable compilation.
...
llvm-svn: 15344
2004-07-30 14:33:07 +00:00
Misha Brukman
4b70aa2e78
Fix De Morgan's name.
...
llvm-svn: 15343
2004-07-30 12:50:08 +00:00
Chris Lattner
e63c404df2
Start using the PatternMatcher a bit.
...
llvm-svn: 15342
2004-07-30 07:50:03 +00:00
Chris Lattner
ace669f381
Check in some useful helper routines for doing ML-style pattern matching on
...
the LLVM IR.
llvm-svn: 15341
2004-07-30 07:45:00 +00:00
Chris Lattner
a5e7a83fa9
I demand the ability to say 'if (isa<Value>(V))'!
...
llvm-svn: 15340
2004-07-30 06:59:15 +00:00