| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
All CVS history was renamed, the *,v were copied over. No worries.
llvm-svn: 15238
|
|
|
|
| |
llvm-svn: 13952
|
|
|
|
| |
llvm-svn: 12607
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
their names more decriptive. A name consists of the base name, a
default operand size followed by a character per operand with an
optional special size. For example:
ADD8rr -> add, 8-bit register, 8-bit register
IMUL16rmi -> imul, 16-bit register, 16-bit memory, 16-bit immediate
IMUL16rmi8 -> imul, 16-bit register, 16-bit memory, 8-bit immediate
MOVSX32rm16 -> movsx, 32-bit register, 16-bit memory
llvm-svn: 11995
|
|
|
|
|
|
| |
operand but their sizes differ.
llvm-svn: 11969
|
|
|
|
|
|
| |
operands. The X86 backend doesn't handle them properly right now.
llvm-svn: 11944
|
|
|
|
|
|
|
|
|
| |
switch statements in the constructors and simplifies the
implementation of the getUseType() member function. You will have to
specify defs using MachineOperand::Def instead of MOTy::Def though
(similarly for Use and UseAndDef).
llvm-svn: 11715
|
|
|
|
|
|
|
|
| |
value is a physreg and one is a virtreg. For this reason, disable copy folding
entirely for physregs. Also, use the new isMoveInstr target hook which gives us
folding of FP moves as well.
llvm-svn: 11700
|
|
|
|
| |
llvm-svn: 11549
|
|
|
|
|
|
| |
bits wide.
llvm-svn: 11548
|
|
|
|
| |
llvm-svn: 11547
|
|
|
|
|
|
|
|
| |
immediate is 8 bits,
but the memory reference is full sized.
llvm-svn: 11536
|
|
|
|
|
|
| |
order in the correct sense!! Arg!
llvm-svn: 11530
|
|
|
|
|
|
|
| |
'ri' ordering instead... no it's not possible to store a register into an
immediate!
llvm-svn: 11529
|
|
|
|
| |
llvm-svn: 11527
|
|
|
|
| |
llvm-svn: 11526
|
|
|
|
| |
llvm-svn: 11521
|
|
|
|
|
|
| |
instructions. Add forms of these instructions that read from memory
llvm-svn: 11518
|
|
|
|
| |
llvm-svn: 11511
|
|
|
|
|
|
|
|
|
|
| |
MRegisterInfo::getNumRegs() instead of
MRegisterInfo::FirstVirtualRegister.
Also use MRegisterInfo::is{Physical,Virtual}Register where
appropriate.
llvm-svn: 11477
|
|
|
|
| |
llvm-svn: 11430
|
|
|
|
|
|
|
|
|
| |
ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.
llvm-svn: 11340
|
|
|
|
| |
llvm-svn: 11285
|
|
|
|
| |
llvm-svn: 11281
|
|
|
|
|
|
| |
operand of the instruction and thus simplify the register allocation.
llvm-svn: 11124
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
b) add isUse(), isDef()
c) rename opHiBits32() to isHiBits32(),
opLoBits32() to isLoBits32(),
opHiBits64() to isHiBits64(),
opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
llvm-svn: 10461
|
|
|
|
|
|
|
|
| |
folding of instructions into addressing modes. This creates lots of dead
instructions, which are currently not deleted. It also creates a lot of
instructions that the X86 backend currently cannot handle. :(
llvm-svn: 10275
|
|
|
|
| |
llvm-svn: 10270
|
|
|
|
| |
llvm-svn: 9903
|
|
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C is a constant which can be sign-extended from 8 bits without value loss,
and op is one of: add, sub, imul, and, or, xor.
This allows the JIT to emit the one byte version of the constant instead of
the two or 4 byte version. Because these instructions are very common, this
can save a LOT of code space. For example, I sampled two benchmarks, 176.gcc
and 254.gap.
BM Old New Reduction
176.gcc 2673621 2548962 4.89%
254.gap 498261 475104 4.87%
Note that while the percentage is not spectacular, this did eliminate
124.6 _KILOBYTES_ of codespace from gcc. Not bad.
Note that this doesn't effect the llc version at all, because the assembler
already does this optimization.
llvm-svn: 9284
|
|
|
|
| |
llvm-svn: 7823
|
|
|
|
| |
llvm-svn: 5327
|
|
llvm-svn: 5260
|