| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
I've tried to find main moudle headers where possible, but the TableGen
stuff may warrant someone else looking at it.
llvm-svn: 169251
|
| |
|
|
|
|
| |
Use this type for arrays of physical registers.
llvm-svn: 168850
|
| |
|
|
|
|
| |
This class has been merged into its super-class TargetInstrInfo.
llvm-svn: 168760
|
| |
|
|
|
|
|
|
|
| |
When code deletes the context, the AttributeImpls that the AttrListPtr points to
are now invalid. Therefore, instead of keeping a separate managed static for the
AttrListPtrs that's reference counted, move it into the LLVMContext and delete
it when deleting the AttributeImpls.
llvm-svn: 168354
|
| |
|
|
|
|
|
|
|
| |
This patch replaces the hard coded GPR pair [R0, R1] of
Intrinsic:arm_ldrexd and [R2, R3] of Intrinsic:arm_strexd with
even/odd GPRPair reg class.
Similar to the lowering of atomic_64 operation.
llvm-svn: 168207
|
| |
|
|
|
|
|
| |
Avoid iterating over list of operands beyond the number of operands in it.
PS: this fixes issue with revision #167634.
llvm-svn: 167635
|
| |
|
|
|
|
| |
Avoid iterating over list of operands beyond the number of operands in it.
llvm-svn: 167634
|
| |
|
|
|
|
|
|
| |
- Add RTM code generation support throught 3 X86 intrinsics:
xbegin()/xend() to start/end a transaction region, and xabort() to abort a
tranaction region
llvm-svn: 167573
|
| |
|
|
|
|
|
|
|
| |
"../llvm-git/utils/TableGen/CodeGenSchedule.cpp", line 1594.12: 1540-0218 (S) The call does not match any parameter list for "operator+".
"../llvm-git/include/llvm/ADT/STLExtras.h", line 130.1: 1540-1283 (I) "template <class _Iterator, class Func> llvm::operator+(mapped_iterator<_Iterator,Func>::difference_type, const mapped_iterator<_Iterator,Func> &)" is not a viable candidate.
Patch by Kai.
llvm-svn: 167311
|
| |
|
|
|
|
|
|
|
|
| |
Explicitly allow composition of null sub-register indices, and handle
that common case in an inlinable stub.
Use a compressed table implementation instead of the previous nested
switches which generated pretty bad code.
llvm-svn: 167190
|
| |
|
|
| |
llvm-svn: 166719
|
| |
|
|
|
|
|
|
|
|
|
| |
Most places can use PrintFatalError as the unwinding mechanism was not
used for anything other than printing the error. The single exception
was CodeGenDAGPatterns.cpp, where intermediate errors during type
resolution were ignored to simplify incremental platform development.
This use is replaced by an error flag in TreePattern and bailout earlier
in various places if it is set.
llvm-svn: 166712
|
| |
|
|
| |
llvm-svn: 166694
|
| |
|
|
| |
llvm-svn: 166686
|
| |
|
|
|
|
|
|
|
|
|
| |
Relationship maps are represented as InstrMapping records which are parsed by
TableGen and the information is used to construct mapping tables to represent
appropriate relations between instructions. These tables are emitted into
XXXGenInstrInfo.inc file along with the functions to query them.
Patch by Jyotsna Verma <jverma@codeaurora.org>.
llvm-svn: 166685
|
| |
|
|
|
|
| |
SetTheory, but pass down the location explicitly.
llvm-svn: 166629
|
| |
|
|
|
|
| |
rather than "$src = $dst").
llvm-svn: 166382
|
| |
|
|
|
|
| |
This gets rid of some magic numbers.
llvm-svn: 165924
|
| |
|
|
|
|
|
|
|
|
| |
Convert the internal representation of the Attributes class into a pointer to an
opaque object that's uniqued by and stored in the LLVMContext object. The
Attributes class then becomes a thin wrapper around this opaque
object. Eventually, the internal representation will be expanded to include
attributes that represent code generation options, etc.
llvm-svn: 165917
|
| |
|
|
|
|
| |
MapAndConstraints vector. Also remove the unused Kind argument.
llvm-svn: 165833
|
| |
|
|
| |
llvm-svn: 165812
|
| |
|
|
|
|
|
| |
isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.
llvm-svn: 165767
|
| |
|
|
| |
llvm-svn: 165757
|
| |
|
|
|
|
| |
TableGen no longer needs RTTI!
llvm-svn: 165651
|
| |
|
|
| |
llvm-svn: 165648
|
| |
|
|
|
|
| |
Also, some minor cleanup.
llvm-svn: 165647
|
| |
|
|
|
|
|
|
|
|
| |
Some of these dyn_cast<>'s would be better phrased as isa<> or cast<>.
That will happen in a future patch.
There are also two dyn_cast_or_null<>'s slipped in instead of
dyn_cast<>'s, since they were causing crashes with just dyn_cast<>.
llvm-svn: 165646
|
| |
|
|
|
|
| |
enums. These are then created via the correct Attributes creation method.
llvm-svn: 165607
|
| |
|
|
|
|
| |
Consistently evaluate Aliases and Sequences recursively.
llvm-svn: 165604
|
| |
|
|
| |
llvm-svn: 165602
|
| |
|
|
| |
llvm-svn: 165403
|
| |
|
|
| |
llvm-svn: 165324
|
| |
|
|
|
|
|
|
| |
This is a mechanical change of dynamic_cast<> to dyn_cast<>. A number of
these uses are actually more like isa<> or cast<>, and will be changed
to the semanticaly appropriate one in a future patch.
llvm-svn: 165291
|
| |
|
|
|
|
|
|
| |
This allows the processor-specific machine model to override selected
base opcodes without any fanciness.
e.g. InstRW<[CoreXWriteVANDP], (instregex "VANDP")>.
llvm-svn: 165180
|
| |
|
|
|
|
|
|
|
| |
A processor can now arbitrarily alias one SchedWrite onto
another. Only the SchedAlias definition need be within the processor
model. The aliased SchedWrite may be a SchedVariant, WriteSequence, or
transitively refer to another alias.
llvm-svn: 165179
|
| |
|
|
| |
llvm-svn: 165178
|
| |
|
|
|
|
| |
MSVC compiler.
llvm-svn: 165174
|
| |
|
|
| |
llvm-svn: 165166
|
| |
|
|
| |
llvm-svn: 164983
|
| |
|
|
|
|
|
|
|
|
|
| |
map constraints and MCInst operands to inline asm operands. This replaces the
getMCInstOperandNum() function.
The logic to determine the constraints are not in place, so we still default to
a register constraint (i.e., "r"). Also, we no longer build the MCInst but
rather return just the opcode to get the MCInstrDesc.
llvm-svn: 164979
|
| |
|
|
|
|
| |
See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
llvm-svn: 164768
|
| |
|
|
| |
llvm-svn: 164767
|
| |
|
|
|
|
| |
Also remove an unused argument.
llvm-svn: 164567
|
| |
|
|
| |
llvm-svn: 164548
|
| |
|
|
|
|
|
| |
Allow subtargets to tie SchedReadWrite types to processor specific
sequences or variants.
llvm-svn: 164451
|
| |
|
|
| |
llvm-svn: 164420
|
| |
|
|
| |
llvm-svn: 164406
|
| |
|
|
| |
llvm-svn: 164261
|
| |
|
|
|
|
| |
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
|