Commit Graph

268 Commits

Author SHA1 Message Date
Chris Lattner
7c56bf694e Remove default ctor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5139 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-25 05:01:05 +00:00
Chris Lattner
56cf63f2f6 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5138 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-25 05:00:49 +00:00
Chris Lattner
03ab7af4de Remove dependency on SSARegMap.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5137 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-25 05:00:16 +00:00
Chris Lattner
c583175e72 Add new opIsUse method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5062 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-15 22:05:02 +00:00
Chris Lattner
8cbfc75d17 Add capability to have a MachineBasicBlock as an operand to a MachineInstr
Add a bunch of methods to MachineOperand is* to reduce usage of MO_foo


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5032 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-15 08:01:02 +00:00
Chris Lattner
367ccab06e Final version of BuildMI for symmetry and because I want to use it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5000 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-13 09:33:06 +00:00
Chris Lattner
3153b35a52 Get rid of deprecated function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4997 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-13 07:30:45 +00:00
Chris Lattner
64ccc73593 Add support for direct global references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4905 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-04 06:44:27 +00:00
Chris Lattner
ffc2d6f485 Add virtual dtor, expose a debug impl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4892 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-03 20:56:20 +00:00
Chris Lattner
8562d4ec7c More support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4873 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 21:56:28 +00:00
Chris Lattner
d1c45a6633 Start adding to the meat of MachineCodeEmitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4869 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 21:44:13 +00:00
Chris Lattner
928e23f9ba Initial version of MachineCodeEmitter interface: empty
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4864 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-02 21:21:36 +00:00
Misha Brukman
35880f394f Instead of checking op.getType() against MO_VirtualRegister and
MO_MachineRegister, we no longer distinguish Virtual vs. Machine registers
externally, they're ALL registers, all equal.

Registers are only differentiated whether they are >=
MRegisterInfo::FirstVirtual or not.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4823 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-22 22:40:52 +00:00
Misha Brukman
7b8ba17761 Set SSARegMap to NULL after deleting it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4822 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-22 22:32:15 +00:00
Misha Brukman
1617e6c997 SSARegMap -- the mapping between SSARegisters and their RegisterClasses, which
imply types of SSA Registers. This is on a per-function basis, so the
MachineFunction contains the SSARegMap, and has accessor functions to it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4774 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 00:53:10 +00:00
Chris Lattner
ce3d3eadef Add helper method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4744 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-18 06:57:05 +00:00
Chris Lattner
af55be15df Print is const!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4737 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 23:22:13 +00:00
Chris Lattner
23e6bba592 Finish enumating code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4726 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:33:54 +00:00
Chris Lattner
7e1a53b404 Remove unused methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4720 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 22:14:22 +00:00
Chris Lattner
32f3d08cde Convert to use an enum to access def/use/use&def information. These make
reading code much easier than just seeing "true, false" especially when
default parameters default one but not both arguments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4717 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:56:10 +00:00
Chris Lattner
5494c7ed9d Return const refefrences to enable default construction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4713 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-17 21:02:42 +00:00
Brian Gaeke
6559bb96a9 include/llvm/CodeGen/MachineInstrBuilder.h: Add addClobber() inline
convenience method.  Fix typo in comment.
lib/Target/X86/InstSelectSimple.cpp: Explicitly specify some implicit uses.
 Use MOVZX/MOVSX instead of MOV instructions with sign extend instructions.
 Take out LEAVE instructions.
 32-bit IDIV and DIV use CDQ, not CWQ (CWQ is a typo).
 Fix typo in comment and remove some FIXME comments.
lib/Target/X86/Printer.cpp: Include X86InstrInfo.h and llvm/Function.h.
 Add some simple code to Printer::runOnFunction to iterate over
  MachineBasicBlocks and call X86InstrInfo::print().
lib/Target/X86/X86InstrInfo.def: Make some more instructions with
 implicit defs "Void".  Add more sign/zero extending "move" insns
 (movsx, movzx).
lib/Target/X86/X86RegisterInfo.def: Add EFLAGS as a register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4707 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-14 22:32:30 +00:00
Vikram S. Adve
601899d196 Bug fix: need to initialize new CallArgsDescriptor pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4453 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 20:38:49 +00:00
Vikram S. Adve
8f211a4ab0 Bug fix in setting an implicit ref.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4452 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 20:38:16 +00:00
Chris Lattner
9cc361579b Allow BuildMI that helps automate construction of SSA information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4443 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 01:48:41 +00:00
Chris Lattner
fa78fbf446 Add support for structured printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4432 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 00:46:48 +00:00
Chris Lattner
dea73839f6 Improve comments, add methods for structured printing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4431 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 00:46:31 +00:00
Chris Lattner
8815c79ea4 Add method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4428 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 23:40:30 +00:00
Chris Lattner
7db458fb07 Add capability to have machine instruction autoinsert when it is created
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4424 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 23:18:23 +00:00
Chris Lattner
ba64363562 Merge with sparc backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4403 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 20:10:58 +00:00
Chris Lattner
35c9a6ded7 X86 merge complete, eliminate dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4401 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 20:07:50 +00:00
Chris Lattner
495fe2e087 X86 merge is complete, eliminate unused code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4400 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 20:07:16 +00:00
Vikram S. Adve
a2bae305fb Remove separate vector of implicit refs from MachineInstr, and
instead record them as extra operands in the operands[] vector.
Also, move CallArgsDescriptor into this class instead of making it an
annotation on the machine instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4399 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 19:41:18 +00:00
Vikram S. Adve
e68a3435ee Move CallArgsDescriptor into this class instead of making it an
annotation on the machine instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4398 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 19:38:46 +00:00
Chris Lattner
ad3136fee4 Remove old entrypoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4385 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 17:15:01 +00:00
Chris Lattner
898c72b4d8 Remove unneeded #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4384 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 17:14:10 +00:00
Chris Lattner
770feb4bfc De-inline methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4379 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 16:50:33 +00:00
Chris Lattner
97d688515e Remove unneeded #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4377 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 16:50:06 +00:00
Chris Lattner
28760f4e77 Make assertIGNode be private to the InterferenceGraph.cpp file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4375 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 16:42:34 +00:00
Chris Lattner
9979895976 Remove unneccesary #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4374 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 16:34:12 +00:00
Chris Lattner
4b28abb57f Delete unused header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4373 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-29 16:32:08 +00:00
Chris Lattner
9ed63ee0fc Minor comment updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4361 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 21:43:42 +00:00
Chris Lattner
f0136b376e Initial checkin of MachineInstrBuilder class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4360 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 21:31:48 +00:00
Chris Lattner
9a8e4121aa Remove all traces of the "Opcode Mask" field in the MachineInstr class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4359 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 21:17:20 +00:00
Chris Lattner
b98a53f201 Remove more default arguments that are never used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4358 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 21:02:40 +00:00
Chris Lattner
7279122e66 Remove default operands that are never used
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4357 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 20:59:49 +00:00
Chris Lattner
413746e983 * Make MachineOperand ctors private, so MachineOperand can only be created
by MachineInstr.
* Add a bunch of new methods to allow incremental addition of operands to the
  machine instr instance.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4356 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 20:48:39 +00:00
Misha Brukman
d5806ffb40 Iterator functions now line up together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4350 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 19:58:38 +00:00
Chris Lattner
2f305989b3 Remove two arguments that are never specified
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4348 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 19:46:59 +00:00
Chris Lattner
335d5c399b s/method/function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4338 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-28 05:58:46 +00:00