| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
|  | 
SDNode *, since it doesn't care about the ResNo value.
llvm-svn: 106282
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
really does need to be a vector type, because
TargetLowering::getOperationAction for SIGN_EXTEND_INREG uses that type,
and it needs to be able to distinguish between vectors and scalars.
Also, fix some more issues with legalization of vector casts.
llvm-svn: 93043
 | 
| | 
| 
| 
|  | 
llvm-svn: 91158
 | 
| | 
| 
| 
| 
| 
|  | 
Patch by Howard Hinnant!
llvm-svn: 90365
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
vectors for
divide/remainder since these operations can trap by unroll them and adding undefs
for the resulting vector.
llvm-svn: 90108
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
while
the latter is capable of representing either a primitive or an extended type.
llvm-svn: 78713
 | 
| | 
| 
| 
| 
| 
|  | 
own struct type.
llvm-svn: 78610
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
|  | 
integer type to be consistent with normal operation legalization.  No visible
change because nothing is actually using this at the moment.
llvm-svn: 72980
 | 
| | 
| 
| 
|  | 
llvm-svn: 72467
 | 
| | 
| 
| 
| 
| 
|  | 
bit clearer.
llvm-svn: 72374
 | 
|   
  
  
  
  
  
  
  
  
  
   | 
will allow simplifying LegalizeDAG to eliminate type legalization.  (I 
have a patch to do that, but it's not quite finished; I'll commit it 
once it's finished and I've fixed any review comments for this patch.)  
See the comment at the beginning of 
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp for more details on the
motivation for this patch.
llvm-svn: 72325
 |