| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 39737
|
|
|
|
|
|
|
|
|
| |
TargetLowering to SelectionDAG so that they have more convenient
access to the current DAG, in preparation for the ValueType routines
being changed from standalone functions to members of SelectionDAG for
the pre-legalize vector type changes.
llvm-svn: 37704
|
|
|
|
|
|
| |
zext/sext/aext stuff.
llvm-svn: 35008
|
|
|
|
| |
llvm-svn: 34488
|
|
|
|
| |
llvm-svn: 34482
|
|
|
|
|
|
| |
address nodes.
llvm-svn: 33636
|
|
|
|
| |
llvm-svn: 33537
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
type of an function parameter was used to determine whether it should
be sign extended or zero extended before the call. This information is
now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
the parameter attribute information. Although it would have been
convenient to pass in the FunctionType itself, there isn't always one
present in the caller. Consequently, a signedness indication for the
result type and for each parameter was provided for in the interface
to this method. All implementations were changed to make the adjustment
necessary.
llvm-svn: 32788
|
|
|
|
| |
llvm-svn: 32333
|
|
|
|
|
|
| |
of opcode and number of operands.
llvm-svn: 31947
|
|
|
|
| |
llvm-svn: 31571
|
|
|
|
| |
llvm-svn: 31294
|
|
|
|
| |
llvm-svn: 30945
|
|
|
|
| |
llvm-svn: 30844
|
|
|
|
| |
llvm-svn: 30759
|
|
|
|
|
|
| |
extra operand to LOADX to specify the exact value extension type.
llvm-svn: 30714
|
|
|
|
| |
llvm-svn: 30279
|
|
|
|
| |
llvm-svn: 29901
|
|
|
|
| |
llvm-svn: 29898
|
|
|
|
| |
llvm-svn: 29895
|
|
|
|
| |
llvm-svn: 29726
|
|
|
|
| |
llvm-svn: 29604
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in the start of an array and a count of operands where applicable. In many
cases, the number of operands is known, so this static array can be allocated
on the stack, avoiding the heap. In many other cases, a SmallVector can be
used, which has the same benefit in the common cases.
I updated a lot of code calling getNode that takes a vector, but ran out of
time. The rest of the code should be updated, and these methods should be
removed.
We should also do the same thing to eliminate the methods that take a
vector of MVT::ValueTypes.
It would be extra nice to convert the dagiselemitter to avoid creating vectors
for operands when calling getTargetNode.
llvm-svn: 29566
|
|
|
|
| |
llvm-svn: 29549
|
|
|
|
| |
llvm-svn: 29373
|
|
|
|
| |
llvm-svn: 28797
|
|
|
|
|
|
| |
RET chain, value1, sign1, value2, sign2, ...
llvm-svn: 28510
|
|
|
|
| |
llvm-svn: 28482
|
|
|
|
| |
llvm-svn: 28459
|
|
|
|
|
|
| |
non-deterministic behavior.
llvm-svn: 28454
|
|
|
|
|
|
| |
by Anton Korobeynikov! This is a step towards closing PR786.
llvm-svn: 28447
|
|
|
|
| |
llvm-svn: 28247
|
|
|
|
|
|
|
|
| |
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
llvm-svn: 27947
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
manner that the LowerSwitch LLVM to LLVM pass does: emitting a binary
search tree of basic blocks. The new approach has several advantages:
it is faster, it generates significantly smaller code in many cases, and
it paves the way for implementing dense switch tables as a jump table by
handling switches directly in the instruction selector.
This functionality is currently only enabled on x86, but should be safe for
every target. In anticipation of making it the default, the cfg is now
properly updated in the x86, ppc, and sparc select lowering code.
llvm-svn: 27156
|
|
|
|
| |
llvm-svn: 27109
|
|
|
|
|
|
|
|
| |
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.
llvm-svn: 26814
|
|
|
|
|
|
| |
implement copysign as a native op if they have it.
llvm-svn: 26541
|
|
|
|
|
|
|
| |
and SUBE nodes that actually expose what's going on and allow for
significant simplifications in the targets.
llvm-svn: 26255
|
|
|
|
|
|
|
| |
and ComputeMaskedBits to match the new improved versions in instcombine.
Tested against all of multisource/benchmarks on ppc.
llvm-svn: 26238
|
|
|
|
|
|
|
|
| |
The ABI specifies that there is a register save area at the bottom of the
stack, which means the actual used pointer needs to be an offset from
the subtracted value.
llvm-svn: 26202
|
|
|
|
|
|
| |
CALLSEQ_START nodes.
llvm-svn: 26143
|
|
|
|
|
|
|
|
|
|
| |
frameaddr/returnaddr
intrinsics.
Autogen frameindex matcher
llvm-svn: 26107
|
|
|
|
| |
llvm-svn: 26085
|
|
|
|
|
|
| |
value/alignment pair for each constant, keep a value/offset pair.
llvm-svn: 26078
|
|
|
|
|
|
|
|
| |
SDOperand Select(SDOperand N);
to
void Select(SDOperand &Result, SDOperand N);
llvm-svn: 26067
|
|
|
|
| |
llvm-svn: 26009
|
|
|
|
| |
llvm-svn: 25998
|
|
llvm-svn: 25985
|