#
b425feb2 |
| 03-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Delete ISD::INSERT_SUBREG and ISD::EXTRACT_SUBREG, which are unused. Note that these are distinct from TargetInstrInfo::INSERT_SUBREG and TargetInstrInfo::EXTRACT_SUBREG, which are used.
llvm-svn: 6
Delete ISD::INSERT_SUBREG and ISD::EXTRACT_SUBREG, which are unused. Note that these are distinct from TargetInstrInfo::INSERT_SUBREG and TargetInstrInfo::EXTRACT_SUBREG, which are used.
llvm-svn: 68355
show more ...
|
#
cff6953c |
| 01-Apr-2009 |
Dan Gohman <gohman@apple.com> |
Use CHAR_BIT instead of hard-coding 8 in several places where it is appropriate. This helps visually differentiate host-oriented calculations from target-oriented calculations.
llvm-svn: 68227
|
#
7135a9d1 |
| 23-Mar-2009 |
Dan Gohman <gohman@apple.com> |
Clarify a comment.
llvm-svn: 67525
|
#
1fb8aedd |
| 13-Mar-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix some significant problems with constant pools that resulted in unnecessary paddings between constant pool entries, larger than necessary alignments (e.g. 8 byte alignment for .literal4 sections),
Fix some significant problems with constant pools that resulted in unnecessary paddings between constant pool entries, larger than necessary alignments (e.g. 8 byte alignment for .literal4 sections), and potentially other issues.
1. ConstantPoolSDNode alignment field is log2 value of the alignment requirement. This is not consistent with other SDNode variants. 2. MachineConstantPool alignment field is also a log2 value. 3. However, some places are creating ConstantPoolSDNode with alignment value rather than log2 values. This creates entries with artificially large alignments, e.g. 256 for SSE vector values. 4. Constant pool entry offsets are computed when they are created. However, asm printer group them by sections. That means the offsets are no longer valid. However, asm printer uses them to determine size of padding between entries. 5. Asm printer uses expensive data structure multimap to track constant pool entries by sections. 6. Asm printer iterate over SmallPtrSet when it's emitting constant pool entries. This is non-deterministic.
Solutions: 1. ConstantPoolSDNode alignment field is changed to keep non-log2 value. 2. MachineConstantPool alignment field is also changed to keep non-log2 value. 3. Functions that create ConstantPool nodes are passing in non-log2 alignments. 4. MachineConstantPoolEntry no longer keeps an offset field. It's replaced with an alignment field. Offsets are not computed when constant pool entries are created. They are computed on the fly in asm printer and JIT. 5. Asm printer uses cheaper data structure to group constant pool entries. 6. Asm printer compute entry offsets after grouping is done. 7. Change JIT code to compute entry offsets on the fly.
llvm-svn: 66875
show more ...
|
#
4718296d |
| 09-Mar-2009 |
Bob Wilson <bob.wilson@apple.com> |
Add a constructor for BuildVectorSDNode and revert the temporary workaround from 66280. I was unable to verify this with gcc-3.4.6, but with gcc-3.3 it avoids the "base class with only non-default c
Add a constructor for BuildVectorSDNode and revert the temporary workaround from 66280. I was unable to verify this with gcc-3.4.6, but with gcc-3.3 it avoids the "base class with only non-default constructor in class without a constructor" warning. Apparently that warning was promoted to an error in gcc-3.4.
llvm-svn: 66424
show more ...
|
#
8498d2dd |
| 06-Mar-2009 |
Tanya Lattner <tonic@nondot.org> |
Add default constructor to SDNode to make gcc 3.4.6 happy.
llvm-svn: 66280
|
Revision tags: llvmorg-2.5.0 |
|
#
92b551bc |
| 03-Mar-2009 |
Dan Gohman <gohman@apple.com> |
Fix a bunch of Doxygen syntax issues. Escape special characters, and put @file directives on their own comment line.
llvm-svn: 65920
|
#
85cefe85 |
| 02-Mar-2009 |
Bob Wilson <bob.wilson@apple.com> |
Generalize BuildVectorSDNode::isConstantSplat to use APInts and handle arbitrary vector sizes. Add an optional MinSplatBits parameter to specify a minimum for the splat element size. Update the PPC
Generalize BuildVectorSDNode::isConstantSplat to use APInts and handle arbitrary vector sizes. Add an optional MinSplatBits parameter to specify a minimum for the splat element size. Update the PPC target to use the revised interface.
llvm-svn: 65899
show more ...
|
#
d8ea0e14 |
| 01-Mar-2009 |
Bob Wilson <bob.wilson@apple.com> |
Combine PPC's GetConstantBuildVectorBits and isConstantSplat functions to a new method in a BuildVectorSDNode "pseudo-class".
llvm-svn: 65747
|
#
a49de9de |
| 25-Feb-2009 |
Evan Cheng <evan.cheng@apple.com> |
Revert BuildVectorSDNode related patches: 65426, 65427, and 65296.
llvm-svn: 65482
|
#
e2fdc317 |
| 25-Feb-2009 |
Scott Michel <scottm@aero.org> |
Expand tabs to spaces (overlooked in previous commit)
llvm-svn: 65427
|
#
bb878288 |
| 25-Feb-2009 |
Scott Michel <scottm@aero.org> |
Remove all "cached" data from BuildVectorSDNode, preferring to retrieve results via reference parameters.
This patch also appears to fix Evan's reported problem supplied as a reduced bugpoint test c
Remove all "cached" data from BuildVectorSDNode, preferring to retrieve results via reference parameters.
This patch also appears to fix Evan's reported problem supplied as a reduced bugpoint test case.
llvm-svn: 65426
show more ...
|
#
9d31aca6 |
| 22-Feb-2009 |
Scott Michel <scottm@aero.org> |
Introduce the BuildVectorSDNode class that encapsulates the ISD::BUILD_VECTOR instruction. The class also consolidates the code for detecting constant splats that's shared across PowerPC and the Cell
Introduce the BuildVectorSDNode class that encapsulates the ISD::BUILD_VECTOR instruction. The class also consolidates the code for detecting constant splats that's shared across PowerPC and the CellSPU backends (and might be useful for other backends.) Also introduces SelectionDAG::getBUID_VECTOR() for generating new BUILD_VECTOR nodes.
llvm-svn: 65296
show more ...
|
#
cf0da6c5 |
| 17-Feb-2009 |
Scott Michel <scottm@aero.org> |
Remove trailing whitespace to reduce later commit patch noise.
(Note: Eventually, commits like this will be handled via a pre-commit hook that does this automagically, as well as expand tabs to spa
Remove trailing whitespace to reduce later commit patch noise.
(Note: Eventually, commits like this will be handled via a pre-commit hook that does this automagically, as well as expand tabs to spaces and look for 80-col violations.)
llvm-svn: 64827
show more ...
|
#
8ba71321 |
| 07-Feb-2009 |
Dale Johannesen <dalej@apple.com> |
Make SDNode constructors take a DebugLoc always. Adjust derived classes to pass UnknownLoc where a DebugLoc does not make sense. Pick one of DebugLoc and non-DebugLoc variants to survive for all suc
Make SDNode constructors take a DebugLoc always. Adjust derived classes to pass UnknownLoc where a DebugLoc does not make sense. Pick one of DebugLoc and non-DebugLoc variants to survive for all such classes.
llvm-svn: 64000
show more ...
|
#
773ca057 |
| 07-Feb-2009 |
Dale Johannesen <dalej@apple.com> |
Deleted one line too many. oops.
llvm-svn: 63996
|
#
a72d41a6 |
| 07-Feb-2009 |
Dale Johannesen <dalej@apple.com> |
Remove now-unused constructors.
llvm-svn: 63995
|
#
69d2cd92 |
| 05-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Delete some trailing whiespaces.
llvm-svn: 63887
|
#
ffee3d83 |
| 04-Feb-2009 |
Stuart Hastings <stuart@apple.com> |
Since I'm obliged to work with a development OS that currently doesn't support GraphViz, I've been using the foo->dump() facility. This patch is a minor rewrite to the SelectionDAG dump() stuff to m
Since I'm obliged to work with a development OS that currently doesn't support GraphViz, I've been using the foo->dump() facility. This patch is a minor rewrite to the SelectionDAG dump() stuff to make it a little more helpful. The existing foo->dump() functionality does not change; this patch adds foo->dumpr(). All of this is only useful when running LLVM under a debugger.
llvm-svn: 63736
show more ...
|
#
3a09f558 |
| 03-Feb-2009 |
Dale Johannesen <dalej@apple.com> |
DebugLoc propagation; adjustment to things omitted from SelectionDagBuild.
llvm-svn: 63680
|
#
76a07f59 |
| 03-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Use the SubclassData field to hold ExtType, isTrunc, and MemIndexedMode information. This eliminates the need for the Flags field in MemSDNode, so this makes LoadSDNode and StoreSDNode smaller. Also,
Use the SubclassData field to hold ExtType, isTrunc, and MemIndexedMode information. This eliminates the need for the Flags field in MemSDNode, so this makes LoadSDNode and StoreSDNode smaller. Also, it makes FoldingSetNodeIDs for loads and stores two AddIntegers smaller.
llvm-svn: 63577
show more ...
|
#
2171f5ae |
| 02-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Reposition the DebugLoc field to reduce padding space on LP64 hosts.
llvm-svn: 63530
|
#
f52ac415 |
| 28-Jan-2009 |
Dan Gohman <gohman@apple.com> |
Add more comments describing SDNode operator codes.
llvm-svn: 63239
|
#
666bf204 |
| 28-Jan-2009 |
Dale Johannesen <dalej@apple.com> |
Add DebugLoc-aware constructors for SDNode derived classes (those that reasonably have a DebugLoc associated with them).
llvm-svn: 63236
|
#
7a1b4538 |
| 28-Jan-2009 |
Dan Gohman <gohman@apple.com> |
Add some comments on ISD::NodeType.
llvm-svn: 63234
|