- May 27, 2010
-
-
Daniel Dunbar authored
to be matched. llvm-svn: 104757
-
- May 26, 2010
-
-
Jakob Stoklund Olesen authored
This means that our Registers are now ordered R7, R8, R9, R10, R12, ... Not R1, R10, R11, R12, R2, R3, ... llvm-svn: 104745
-
Kevin Enderby authored
llvm-svn: 104731
-
Daniel Dunbar authored
llvm-svn: 104713
-
Dan Gohman authored
llvm-svn: 104711
-
Daniel Dunbar authored
before encoding. llvm-svn: 104707
-
Jakob Stoklund Olesen authored
A Register with subregisters must also provide SubRegIndices for adressing the subregisters. TableGen automatically inherits indices for sub-subregisters to minimize typing. CompositeIndices may be specified for the weirder cases such as the XMM sub_sd index that returns the same register, and ARM NEON Q registers where both D subregs have ssub_0 and ssub_1 sub-subregs. It is now required that all subregisters are named by an index, and a future patch will also require inherited subregisters to be named. This is necessary to allow composite subregister indices to be reduced to a single index. llvm-svn: 104704
-
Daniel Dunbar authored
llvm-svn: 104699
-
Daniel Dunbar authored
llvm-svn: 104697
-
Daniel Dunbar authored
llvm-svn: 104696
-
Zhongxing Xu authored
llvm-svn: 104691
-
Jakob Stoklund Olesen authored
This reverts commit 104654. llvm-svn: 104660
-
Jakob Stoklund Olesen authored
A Register with subregisters must also provide SubRegIndices for adressing the subregisters. TableGen automatically inherits indices for sub-subregisters to minimize typing. CompositeIndices may be specified for the weirder cases such as the XMM sub_sd index that returns the same register, and ARM NEON Q registers where both D subregs have ssub_0 and ssub_1 sub-subregs. It is now required that all subregisters are named by an index, and a future patch will also require inherited subregisters to be named. This is necessary to allow composite subregister indices to be reduced to a single index. llvm-svn: 104654
-
- May 25, 2010
-
-
Kevin Enderby authored
are st(0). These can be encoded using an opcode for storing in st(0) or using an opcode for storing in st(i), where i can also be 0. To allow testing with the darwin assembler and get a matching binary the opcode for storing in st(0) is now used. To do this the same logical trick is use from the darwin assembler in converting things like this: fmul %st(0), %st into this: fmul %st(0) by looking for the second operand being X86::ST0 for specific floating point mnemonics then removing the second X86::ST0 operand. This also has the add benefit to allow things like: fmul %st(1), %st that llvm-mc did not assemble. llvm-svn: 104634
-
Jakob Stoklund Olesen authored
llvm-svn: 104629
-
Jakob Stoklund Olesen authored
SubRegIndex instances are now numbered uniquely the same way Register instances are - in lexicographical order by name. llvm-svn: 104627
-
Daniel Dunbar authored
llvm-svn: 104626
-
Daniel Dunbar authored
llvm-svn: 104622
-
Kevin Enderby authored
for the 64-bit version of the Bit Test instruction. llvm-svn: 104621
-
Eric Christopher authored
Fixes rdar://8017638 llvm-svn: 104617
-
Jakob Stoklund Olesen authored
This passes lit tests, but I'll give it a go through the buildbots to smoke out any remaining places that depend on the old SubRegIndex numbering. Then I'll remove NumberHack entirely. llvm-svn: 104615
-
Jakob Stoklund Olesen authored
The cases in getMatchingSuperRegClass cannot be broken up until the enums have unique values. llvm-svn: 104611
-
Jakob Stoklund Olesen authored
llvm-svn: 104571
-
- May 24, 2010
-
-
Jakob Stoklund Olesen authored
structure that represents a mapping without any dependencies on SubRegIndex numbering. This brings us closer to being able to remove the explicit SubRegIndex numbering, and it is now possible to specify any mapping without inventing *_INVALID register classes. llvm-svn: 104563
-
Dan Gohman authored
llvm-svn: 104552
-
Kevin Enderby authored
llvm-svn: 104549
-
Jakob Stoklund Olesen authored
Use the tablegen-produced enums. llvm-svn: 104493
-
Jakob Stoklund Olesen authored
This is the beginning of purely symbolic subregister indices, but we need a bit of jiggling before the explicit numeric indices can be completely removed. llvm-svn: 104492
-
- May 22, 2010
-
-
Daniel Dunbar authored
MC/X86: Subdivide immediates a bit more, so that we properly recognize immediates based on the width of the target instruction. For example: addw $0xFFFF, %ax should match the same as addw $-1, %ax but we used to match it to the longer encoding. llvm-svn: 104453
-
Daniel Dunbar authored
llvm-svn: 104452
-
Daniel Dunbar authored
llvm-svn: 104435
-
-
Kevin Enderby authored
llvm-svn: 104394
-
- May 21, 2010
-
-
Evan Cheng authored
that are aliases of the specified register. - Rename modifiesRegister to definesRegister since it's looking a def of the specific register or one of its super-registers. It's not looking for def of a sub-register or alias that could change the specified register. - Added modifiesRegister to look for defs of aliases. llvm-svn: 104377
-
Dale Johannesen authored
llvm-svn: 104337
-
Dale Johannesen authored
Case where MMX is disabled wasn't handled right. MMX->MMX bitconverts are Legal. llvm-svn: 104336
-
Chris Lattner authored
pass after isel instead of being interlaced with it, we can trust that all the code for a function has been isel'd before it is run. The practical impact of this is that we can scan for machine instr phis instead of doing a fuzzy match on the LLVM BB for phi nodes. Doing the fuzzy match required knowing when isel would produce an fp reg stack phi which was gross. It was also wrong in cases where select got lowered to a branch tree because cmovs aren't available (PR6828). Just do the scan on machine phis which is simpler, faster and more correct. This fixes PR6828. llvm-svn: 104333
-
Chris Lattner authored
llvm-svn: 104331
-
Chris Lattner authored
llvm-svn: 104330
-
Chris Lattner authored
eliminating the gymnastics around the ContainsFPCode var. llvm-svn: 104328
-