| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
of bitcasts,
allowing it to support the full range of conversions people might ask for in a correct manner.
llvm-svn: 55378
|
|
|
|
|
|
|
|
|
| |
requested
was inserted or not. This allows bitcast in fast isel to properly handle the case
where an appropriate reg-to-reg copy is not available.
llvm-svn: 55375
|
|
|
|
| |
llvm-svn: 55373
|
|
|
|
| |
llvm-svn: 55355
|
|
|
|
|
|
|
|
| |
RecyclingAllocator, but this change is needed for the nodes
to actually be recycled. This cuts SelectionDAG's memory
usage high-water-mark in half in some cases.
llvm-svn: 55351
|
|
|
|
|
|
|
|
| |
to pass the desired return
type down. This is not currently used.
llvm-svn: 55345
|
|
|
|
| |
llvm-svn: 55342
|
|
|
|
|
|
| |
values by emitting reg-reg copies.
llvm-svn: 55340
|
|
|
|
|
|
|
|
| |
and use them to support
bitcast of constants in fast isel.
llvm-svn: 55325
|
|
|
|
|
|
| |
PseudoSourceValue.cpp from the llvm namespace.
llvm-svn: 55293
|
|
|
|
| |
llvm-svn: 55291
|
|
|
|
|
|
| |
immediately.
llvm-svn: 55288
|
|
|
|
|
|
| |
really nice if someone converted MachineFunction::print to raw_ostream.
llvm-svn: 55268
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
use raw_ostream instead of std::ostream. Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).
Other interesting changes:
1) This makes Value::print be non-virtual.
2) AP[S]Int and ConstantRange can no longer print to ostream directly,
use raw_ostream instead.
3) This fixes a bug in raw_os_ostream where it didn't flush itself
when destroyed.
4) This adds a new SDNode::print method, instead of only allowing "dump".
A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream
versions.
This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.
llvm-svn: 55263
|
|
|
|
| |
llvm-svn: 55220
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
process up to a higher level. This allows FastISel to leverage
more of SelectionDAGISel's infastructure, such as updating Machine
PHI nodes.
Also, implement transitioning from SDISel back to FastISel in
the middle of a block, so it's now possible to go back and
forth. This allows FastISel to hand individual CallInsts and other
complicated things off to SDISel to handle, while handling the rest
of the block itself.
To help support this, reorganize the SelectionDAG class so that it
is allocated once and reused throughout a function, instead of
being completely reallocated for each block.
llvm-svn: 55219
|
|
|
|
|
|
|
| |
i8* getelementptr. DAGCombine eliminates these, but this is
a fairly common case.
llvm-svn: 55214
|
|
|
|
| |
llvm-svn: 55212
|
|
|
|
| |
llvm-svn: 55205
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
message:
{standard input}:17:bad register name `%sil'
make[4]: *** [libgcc/./_addvsi3.o] Error 1
make[4]: *** Waiting for unfinished jobs....
{standard input}:23:bad register name `%dil'
{standard input}:28:bad register name `%dil'
make[4]: *** [libgcc/./_addvdi3.o] Error 1
{standard input}:18:bad register name `%sil'
make[4]: *** [libgcc/./_subvsi3.o] Error 1
llvm-svn: 55200
|
|
|
|
| |
llvm-svn: 55192
|
|
|
|
| |
llvm-svn: 55191
|
|
|
|
|
|
|
| |
are not yet updated properly, but that's a separate
task.
llvm-svn: 55187
|
|
|
|
|
|
|
| |
handled correctly, and change a few SmallVector uses to use
size 0 to more clearly reflect their intent.
llvm-svn: 55181
|
|
|
|
|
|
| |
Patch contributed by m-s.
llvm-svn: 55167
|
|
|
|
|
|
|
|
|
| |
and use it in FastISelEmitter.cpp, and make FastISel
subtarget aware. Among other things, this lets it work
properly on x86 targets that don't have SSE, where it
successfully selects x87 instructions.
llvm-svn: 55156
|
|
|
|
| |
llvm-svn: 55154
|
|
|
|
| |
llvm-svn: 55134
|
|
|
|
| |
llvm-svn: 55133
|
|
|
|
| |
llvm-svn: 55130
|
|
|
|
| |
llvm-svn: 55129
|
|
|
|
|
|
|
| |
intptr_t type in this case. FastISel can now select simple
getelementptr instructions.
llvm-svn: 55125
|
|
|
|
|
|
|
| |
are actually deleted, so it's not necessary to remove re-used
nodes from the set.
llvm-svn: 55123
|
|
|
|
| |
llvm-svn: 55099
|
|
|
|
| |
llvm-svn: 55097
|
|
|
|
| |
llvm-svn: 55092
|
|
|
|
| |
llvm-svn: 55089
|
|
|
|
| |
llvm-svn: 55085
|
|
|
|
| |
llvm-svn: 55077
|
|
|
|
|
|
|
|
| |
class hold a MachineRegisterInfo member, and make the
MachineBasicBlock be passed in to SelectInstructions rather
than the FastISel constructor.
llvm-svn: 55076
|
|
|
|
| |
llvm-svn: 55075
|
|
|
|
| |
llvm-svn: 55074
|
|
|
|
| |
llvm-svn: 55072
|
|
|
|
| |
llvm-svn: 55071
|
|
|
|
| |
llvm-svn: 55070
|
|
|
|
| |
llvm-svn: 55069
|
|
|
|
| |
llvm-svn: 55067
|
|
|
|
| |
llvm-svn: 55059
|
|
|
|
|
|
|
|
| |
alignment and volatility information, such as loads and
stores, to reduce the number of integer values added to
the FoldingSetNodeID.
llvm-svn: 55058
|
|
|
|
| |
llvm-svn: 55054
|