#
846c19dd |
| 19-Oct-2007 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for byval function whose argument is not 32 bit aligned. To do this it is necessary to add a "always inline" argument to the memcpy node. For completeness I have also added this node to m
Add support for byval function whose argument is not 32 bit aligned. To do this it is necessary to add a "always inline" argument to the memcpy node. For completeness I have also added this node to memmove and memset. I have also added getMem* functions, because the extra argument makes it cumbersome to use getNode and because I get confused by it :-)
llvm-svn: 43172
show more ...
|
#
bfdebe33 |
| 15-Oct-2007 |
Chris Lattner <sabre@nondot.org> |
remove dead enum, make setNodeId public.
llvm-svn: 42977
|
#
daee0024 |
| 11-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Add an ISD::FPOW node type.
llvm-svn: 42879
|
#
8ff5335b |
| 06-Oct-2007 |
Evan Cheng <evan.cheng@apple.com> |
Oops. Forgot this.
llvm-svn: 42691
|
#
5b89b1ef |
| 05-Oct-2007 |
Dan Gohman <gohman@apple.com> |
Define target-indepenent SDNode types for multiply and divide that produce two results.
llvm-svn: 42632
|
#
99452793 |
| 05-Oct-2007 |
Duncan Sands <baldrick@free.fr> |
Fix typo in comment.
llvm-svn: 42631
|
Revision tags: llvmorg-2.1.0 |
|
#
0625bd64 |
| 17-Sep-2007 |
Chris Lattner <sabre@nondot.org> |
Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfo
Add a new DenseMapInfo::isEqual method to allow clients to redefine the equality predicate used when probing the hash table.
llvm-svn: 42
Merge DenseMapKeyInfo & DenseMapValueInfo into DenseMapInfo
Add a new DenseMapInfo::isEqual method to allow clients to redefine the equality predicate used when probing the hash table.
llvm-svn: 42042
show more ...
|
#
e903c102 |
| 17-Sep-2007 |
Dan Gohman <gohman@apple.com> |
Add a utility function to SDOperand for testing if a value is unused.
llvm-svn: 42038
|
#
86e01198 |
| 11-Sep-2007 |
Duncan Sands <baldrick@free.fr> |
Fold the adjust_trampoline intrinsic into init_trampoline. There is now only one trampoline intrinsic.
llvm-svn: 41841
|
#
446b9001 |
| 31-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Add mod, copysign, abs operations to APFloat. Implement some constant folding in SelectionDAG and DAGCombiner using APFloat. Remove double versions of constructor and getValue from ConstantFPSDNode.
Add mod, copysign, abs operations to APFloat. Implement some constant folding in SelectionDAG and DAGCombiner using APFloat. Remove double versions of constructor and getValue from ConstantFPSDNode.
llvm-svn: 41664
show more ...
|
#
d246b2ca |
| 30-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Change LegalFPImmediates to use APFloat. Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPS
Change LegalFPImmediates to use APFloat. Add APFloat interfaces to ConstantFP, SelectionDAG. Fix integer bit in double->APFloat conversion. Convert LegalizeDAG to use APFloat interface in ConstantFPSDNode uses.
llvm-svn: 41587
show more ...
|
#
b6d2bec4 |
| 26-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Revise per review comments.
llvm-svn: 41409
|
#
2cfcf70f |
| 25-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Add APFloat interface to ConstantFPSDNode. Change over uses in DAGCombiner. Fix interfaces to work with APFloats.
llvm-svn: 41407
|
#
7891d8ed |
| 24-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Use APFloat internally for ConstantFPSDNode.
llvm-svn: 41372
|
#
66011c17 |
| 10-Aug-2007 |
Rafael Espindola <rafael.espindola@gmail.com> |
propagate struct size and alignment of byval arguments to the DAG
llvm-svn: 40986
|
#
358c3d1d |
| 02-Aug-2007 |
Evan Cheng <evan.cheng@apple.com> |
Do not emit copies for physical register output if it's not used.
llvm-svn: 40722
|
#
644f9173 |
| 27-Jul-2007 |
Duncan Sands <baldrick@free.fr> |
Support for trampolines, except for X86 codegen which is still under discussion.
llvm-svn: 40549
|
#
a8fc0e52 |
| 26-Jul-2007 |
Christopher Lamb <christopher.lamb@gmail.com> |
Add selection DAG nodes for subreg insert/extract. PR1350
llvm-svn: 40516
|
#
383a3247 |
| 14-Jul-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Long live the exception handling!
This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and
Long live the exception handling!
This patch fills the last necessary bits to enable exceptions handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and their lowering) which represent really weird target-specific gcc builtins used inside unwinder.
After corresponding llvm-gcc patch will land (easy) exceptions should be more or less workable. However, exceptions handling support should not be thought as 'finished': I expect many small and not so small glitches everywhere.
llvm-svn: 39855
show more ...
|
#
32aad49b |
| 10-Jul-2007 |
Evan Cheng <evan.cheng@apple.com> |
Move DenseMapKeyInfo<SDOperand> from LegalizeDAG.cpp to SelectionDAGNodes.h
llvm-svn: 38484
|
#
fd404813 |
| 06-Jul-2007 |
Dan Gohman <gohman@apple.com> |
Fix a comment so that the element numbering match the actual element operand numbering.
llvm-svn: 37944
|
#
b567e3ff |
| 06-Jul-2007 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add the byval attribute
llvm-svn: 37940
|
#
7867793a |
| 28-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Add new TargetLowering code to provide the final register type that an illegal value type will be transformed to, for code that needs the register type after all transformations instead of just after
Add new TargetLowering code to provide the final register type that an illegal value type will be transformed to, for code that needs the register type after all transformations instead of just after the first transformation.
Factor out the code that uses this information to do copy-from-regs and copy-to-regs for various purposes into separate functions so that they are done consistently.
llvm-svn: 37781
show more ...
|
#
a8665145 |
| 25-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Generalize MVT::ValueType and associated functions to be able to represent extended vector types. Remove the special SDNode opcodes used for pre-legalize vector operations, and the special MVT::Vecto
Generalize MVT::ValueType and associated functions to be able to represent extended vector types. Remove the special SDNode opcodes used for pre-legalize vector operations, and the special MVT::Vector type used with them. Adjust lowering and legalize to work with the normal SDNode kinds instead, and to use the normal MVT functions to work with vector types instead of using the two special operands that the pre-legalize nodes held.
This allows pre-legalize and post-legalize DAGs, and the code that operates on them, to be more consistent. Pre-legalize vector operators can be handled more consistently with scalar operators. And, -view-dag-combine1-dags and -view-legalize-dags now look prettier for vector code.
llvm-svn: 37719
show more ...
|
#
26455c4a |
| 13-Jun-2007 |
Dan Gohman <gohman@apple.com> |
Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR and VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in the case that the full register is to be split into subvectors in
Introduce new SelectionDAG node opcodes VEXTRACT_SUBVECTOR and VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in the case that the full register is to be split into subvectors instead of scalars. This replaces uses of VBIT_CONVERT to present values as vector-of-vector types in order to make whole subvectors accessible via BUILD_VECTOR and EXTRACT_VECTOR_ELT.
This is in preparation for adding extended ValueType values, where having vector-of-vector types is undesirable.
llvm-svn: 37569
show more ...
|