| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 91554
|
|
|
|
| |
llvm-svn: 91442
|
|
|
|
|
|
|
|
| |
bunch of associated comments, because it doesn't have anything to do
with DAGs or scheduling. This is another step in decoupling MachineInstr
emitting from scheduling.
llvm-svn: 85517
|
|
|
|
|
|
|
|
|
|
| |
set, these flags indicate the instructions source / def operands have special
register allocation requirement that are not captured in their register classes.
Post-allocation passes (e.g. post-alloc scheduler) should not change their
allocations. e.g. ARM::LDRD require the two definitions to be allocated
even / odd register pair.
llvm-svn: 83196
|
|
|
|
|
|
| |
attempt more than 2 constraints on an instruction.
llvm-svn: 80169
|
|
|
|
|
|
|
| |
allows binops to be used in typed contexts such as when passing
arguments to classes.
llvm-svn: 69921
|
|
|
|
|
|
| |
name in the symbol table, returning an object.
llvm-svn: 69822
|
|
|
|
| |
llvm-svn: 60487
|
|
|
|
| |
llvm-svn: 58250
|
|
|
|
| |
llvm-svn: 56963
|
|
|
|
|
|
|
|
|
|
|
| |
index for the input pattern in terms of the output pattern. Instead
keep track of how many fixed operands the input pattern actually
has, and have the input matching code pass the output-emitting
function that index value. This simplifies the code, disentangles
variables_ops from the support for predication operations, and
makes variable_ops more robust.
llvm-svn: 51808
|
|
|
|
|
|
|
|
|
|
|
|
| |
definitions. This adds a new construct, "discard", for indicating
that a named node in the input matching pattern is to be discarded,
instead of corresponding to a node in the output pattern. This
allows tblgen to know where the arguments for the varaible_ops are
supposed to begin.
This fixes "rdar://5791600", whatever that is ;-).
llvm-svn: 51699
|
|
|
|
|
|
|
|
|
| |
instruction to execute. This can be used for transformations (like two-address
conversion) to remat an instruction instead of generating a "move"
instruction. The idea is to decrease the live ranges and register pressure and
all that jazz.
llvm-svn: 51660
|
|
|
|
| |
llvm-svn: 48381
|
|
|
|
| |
llvm-svn: 48222
|
|
|
|
| |
llvm-svn: 48167
|
|
|
|
|
|
| |
pattern their used in. This will be used to allow insert/extract subreg patterns in .td files!
llvm-svn: 48125
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the
x86 backend where instructions were not marked maystore/mayload, and perf issues where
instructions were not marked neverHasSideEffects. It would be really nice if we could
write patterns for copy instructions.
I have audited all the x86 instructions down to MOVDQAmr. The flags on others and on
other targets are probably not right in all cases, but no clients currently use this
info that are enabled by default.
llvm-svn: 45829
|
|
|
|
|
|
| |
This is currently not set by anything.
llvm-svn: 45748
|
|
|
|
|
|
|
| |
Evan, please review the comments I added to getNumDefs to make sure
that they are accurate, thx.
llvm-svn: 45687
|
|
|
|
|
|
| |
just unconditionally use the def name of the instruction.
llvm-svn: 45684
|
|
|
|
| |
llvm-svn: 45667
|
|
|
|
| |
llvm-svn: 45656
|
|
getName() accessor.
llvm-svn: 45645
|