| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
pattern can be very useful in cases where you want to define a multiclass that covers both commutative and non-commutative operators (say, add and sub).
llvm-svn: 164256
|
|
|
|
|
|
| |
code emitters and the disassembler table builder. Fix a couple instructions that were still missing VEX_L.
llvm-svn: 164204
|
|
|
|
| |
llvm-svn: 164199
|
|
|
|
|
|
|
|
| |
Fixes an observed instance of nondeterministic TableGen output.
Review by Jakob.
llvm-svn: 164191
|
|
|
|
|
|
|
|
| |
Fixes an observed instance of nondeterministic TableGen output.
Review by Jakob.
llvm-svn: 164190
|
|
|
|
|
|
|
|
|
|
|
| |
This is a generally useful utility; there's no reason to have it hidden
in CodeGenDAGPatterns.cpp.
Also, rename it to fit the other comparators in Record.h
Review by Jakob.
llvm-svn: 164189
|
|
|
|
|
|
| |
after the colon.
llvm-svn: 164165
|
|
|
|
|
|
| |
the match table. Reorder fields in OperandMatchEntry to provide the least amount of padding for in tree targets.
llvm-svn: 164109
|
|
|
|
|
|
| |
on in tree targets. Saving static data space.
llvm-svn: 164108
|
|
|
|
|
|
|
|
| |
Now where we used to call ReInitMCSubtargetInfo, we actually recompute
the same information as InitMCSubtargetInfo instead of only setting
the feature bits.
llvm-svn: 164105
|
|
|
|
| |
llvm-svn: 164097
|
|
|
|
| |
llvm-svn: 164096
|
|
|
|
|
|
| |
resolving instruction variants.
llvm-svn: 164095
|
|
|
|
| |
llvm-svn: 164094
|
|
|
|
|
|
| |
model.
llvm-svn: 164092
|
|
|
|
| |
llvm-svn: 164088
|
|
|
|
| |
llvm-svn: 164086
|
|
|
|
| |
llvm-svn: 164078
|
|
|
|
| |
llvm-svn: 164075
|
|
|
|
|
|
|
| |
I have to work out the Target/CodeGen header dependencies
before putting this back.
llvm-svn: 164072
|
|
|
|
| |
llvm-svn: 164066
|
|
|
|
| |
llvm-svn: 164064
|
|
|
|
| |
llvm-svn: 164063
|
|
|
|
|
|
| |
resolving instruction variants.
llvm-svn: 164062
|
|
|
|
|
|
| |
model.
llvm-svn: 164061
|
|
|
|
|
|
| |
model.
llvm-svn: 164060
|
|
|
|
|
|
|
|
|
|
|
|
| |
Map the CodeGenSchedule object model onto data tables. The structure
of the data tables is defined in MC, so for convenience we include
MCSchedule.h. The alternative is maintaining a redundant copy of the
table structure definitions. Mapping the object model onto data tables
is sufficiently complicated that it should not be interleaved with
emitting source code. This avoids major problem with the backend for
itinerary generation.
llvm-svn: 164059
|
|
|
|
| |
llvm-svn: 164058
|
|
|
|
| |
llvm-svn: 164057
|
|
|
|
|
|
|
| |
Keep GCC's warnings happy. It can't reason out that the state machine won't
ever hit the potentially uninitialized use in OPC_FilterValue.
llvm-svn: 164041
|
|
|
|
|
|
| |
The cases where no initialization happens should still be checked for logic flaws.
llvm-svn: 164032
|
|
|
|
| |
llvm-svn: 164012
|
|
|
|
| |
llvm-svn: 164002
|
|
|
|
| |
llvm-svn: 163999
|
|
|
|
|
|
| |
parameters.
llvm-svn: 163984
|
|
|
|
|
|
| |
targets do not exist in the main tree so this was not noticed.
llvm-svn: 163959
|
|
|
|
|
|
| |
Collect processor resources from the subtarget defs.
llvm-svn: 163953
|
|
|
|
|
|
| |
Infer SchedClasses from variants defined by the target or subtarget.
llvm-svn: 163952
|
|
|
|
|
|
| |
Collect SchedClasses and SchedRW types from the subtarget defs.
llvm-svn: 163951
|
|
|
|
|
|
| |
represent additional fragments. This recovers some space on ATT X86 syntax and PowerPC which only need 40-bits instead of 48-bits. This also increases ARM to 64-bits to fully encode all of its operands.
llvm-svn: 163880
|
|
|
|
|
|
| |
targets. If more than 16-bits are needed for any out of tree targets, code will detect and use uint32_t instead.
llvm-svn: 163878
|
|
|
|
|
|
| |
Fix an issue in r163814.
llvm-svn: 163837
|
|
|
|
|
|
|
|
|
|
|
| |
48-bit if necessary, in order to reduce the generated code size.
We have 900 cases not covered by OpcodeInfo in ATT AsmWriter and more in Intel
AsmWriter and ARM AsmWriter.
This patch reduced the clang Release build size by 50k, running on a Mac Pro.
llvm-svn: 163814
|
|
|
|
|
|
|
|
| |
* wrap code blocks in \code ... \endcode;
* refer to parameter names in paragraphs correctly (\arg is not what most
people want -- it starts a new paragraph).
llvm-svn: 163790
|
|
|
|
|
|
| |
byte represent 8 instructions and the reg modRM byte represents up to 64 instructions. Reduces modRM table from 43k entreis to 25k entries. Based on a patch from Manman Ren.
llvm-svn: 163774
|
|
|
|
| |
llvm-svn: 163726
|
|
|
|
| |
llvm-svn: 163721
|
|
|
|
|
|
| |
unknown def inherits. Make tblgen check for that class, rather than checking for the def itself.
llvm-svn: 163664
|
|
|
|
|
|
| |
list of registers every time we want to look up a register by name.
llvm-svn: 163659
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sub-register lane masks are bitmasks that can be used to determine if
two sub-registers of a virtual register will overlap. For example, ARM's
ssub0 and ssub1 sub-register indices don't overlap each other, but both
overlap dsub0 and qsub0.
The lane masks will be accurate on most targets, but on targets that use
sub-register indexes in an irregular way, the masks may conservatively
report that two sub-register indices overlap when the eventually
allocated physregs don't.
Irregular register banks also mean that the bits in a lane mask can't be
mapped onto register units, but the concept is similar.
llvm-svn: 163630
|