| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.
llvm-svn: 116190
|
|
|
|
| |
llvm-svn: 114461
|
|
|
|
| |
llvm-svn: 108991
|
|
|
|
|
|
| |
code can do calling-convention queries. This obviates OutputArgReg.
llvm-svn: 107786
|
|
|
|
| |
llvm-svn: 107710
|
|
|
|
|
|
|
| |
the block before calling the expansion hook. And don't
put EFLAGS in a mbb's live-in list twice.
llvm-svn: 107691
|
|
|
|
| |
llvm-svn: 107668
|
|
|
|
|
|
| |
the pseudo instruction is not at the end of the block.
llvm-svn: 107655
|
|
|
|
| |
llvm-svn: 106279
|
|
|
|
|
|
| |
changes before doing phi lowering for switches.
llvm-svn: 102809
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
const_casts, and it reinforces the design of the Target classes being
immutable.
SelectionDAGISel::IsLegalToFold is now a static member function, because
PIC16 uses it in an unconventional way. There is more room for API
cleanup here.
And PIC16's AsmPrinter no longer uses TargetLowering.
llvm-svn: 101635
|
|
|
|
|
|
| |
MachineFunctionInfo subclasses.
llvm-svn: 101634
|
|
|
|
| |
llvm-svn: 101334
|
|
|
|
| |
llvm-svn: 100601
|
|
|
|
| |
llvm-svn: 97536
|
|
|
|
| |
llvm-svn: 97228
|
|
|
|
| |
llvm-svn: 97220
|
|
|
|
| |
llvm-svn: 97211
|
|
|
|
|
|
|
|
| |
IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use.
This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses.
llvm-svn: 96255
|
|
|
|
|
|
| |
change to SelectionDAG build APIs.
llvm-svn: 96235
|
|
|
|
| |
llvm-svn: 95160
|
|
|
|
|
|
| |
sibcall eligibility.
llvm-svn: 95130
|
|
|
|
|
|
|
|
|
| |
Target independent isel should always pass along the "tail call" property. Change
target hook LowerCall's parameter "isTailCall" into a refernce. If the target
decides it's impossible to honor the tail call request, it should set isTailCall
to false to make target independent isel happy.
llvm-svn: 94626
|
|
|
|
| |
llvm-svn: 92242
|
|
|
|
| |
llvm-svn: 92201
|
|
|
|
|
|
| |
floating point comparisons, rather than hard-coding them as i32.
llvm-svn: 92199
|
|
|
|
| |
llvm-svn: 91996
|
|
|
|
| |
llvm-svn: 91995
|
|
|
|
| |
llvm-svn: 91993
|
|
|
|
|
|
| |
if it is Legal and does not result into a cyclic dep.
llvm-svn: 91904
|
|
|
|
|
|
|
|
| |
return partial registers. This affected the back-end lowering code some.
Also patch up some places I missed before in the "get" functions.
llvm-svn: 91880
|
|
|
|
| |
llvm-svn: 91780
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
slots. The AsmPrinter will use this information to determine whether to
print a spill/reload comment.
Remove default argument values. It's too easy to pass a wrong argument
value when multiple arguments have default values. Make everything
explicit to trap bugs early.
Update all targets to adhere to the new interfaces..
llvm-svn: 87022
|
|
|
|
| |
llvm-svn: 84195
|
|
|
|
|
|
| |
PIC16Section class", it breaks globals.ll.
llvm-svn: 84184
|
|
|
|
|
|
| |
derived from MCSection.
llvm-svn: 84180
|
|
|
|
|
|
| |
blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks.
llvm-svn: 82311
|
|
|
|
|
|
|
|
| |
sdisel will use to properly complete phi nodes.
Not functionality change yet.
llvm-svn: 82273
|
|
|
|
| |
llvm-svn: 80773
|
|
|
|
|
|
| |
backends don't use it as an example.
llvm-svn: 80105
|
|
|
|
| |
llvm-svn: 79690
|
|
|
|
|
|
|
|
|
| |
Clone functions that are shared between the Main thread and Interrupt thread.
CallSites are changed in AsmPrinter currently. A better solution would have been to modify the legalizer (SoftenFloat) to allow targets to change the name of libcalls for float operations. But that currently breaks other targets.
Also, cloing of automatic variables is done AsmPrinter, a better approach would
be to use the ValueMap in CloneFunction itself.
llvm-svn: 79562
|
|
|
|
|
|
| |
infrastructure work needed to get the contexts to where they need to be first.
llvm-svn: 78759
|
|
|
|
|
|
|
|
| |
while
the latter is capable of representing either a primitive or an extended type.
llvm-svn: 78713
|
|
|
|
|
|
| |
Passing of indirect arguments starts after return value on the callee's frame.
llvm-svn: 78635
|
|
|
|
|
|
| |
own struct type.
llvm-svn: 78610
|
|
|
|
|
|
| |
SimpleValueType, which will simplify the privatization of IntegerType in the future.
llvm-svn: 78584
|
|
|
|
| |
llvm-svn: 78211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of awkwardly encoding calling-convention information with ISD::CALL,
ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
provides three virtual functions for targets to override:
LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
lowering done on the special nodes. They provide the same information, but
in a more immediately usable format.
This also reworks much of the target-independent tail call logic. The
decision of whether or not to perform a tail call is now cleanly split
between target-independent portions, and the target dependent portion
in IsEligibleForTailCallOptimization.
This also synchronizes all in-tree targets, to help enable future
refactoring and feature work.
llvm-svn: 78142
|
|
|
|
| |
llvm-svn: 78082
|