History log of /llvm-project/llvm/include/llvm/CodeGen/SelectionDAGNodes.h (Results 776 – 800 of 866)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c2856387 23-Jan-2006 Andrew Lenharth <andrewl@lenharth.org>

another selectto

llvm-svn: 25548


# a5110e85 13-Jan-2006 Chris Lattner <sabre@nondot.org>

add stacksave/stackrestore nodes

llvm-svn: 25270


# 1b8121b2 11-Jan-2006 Nate Begeman <natebegeman@mac.com>

Add bswap, rotl, and rotr nodes
Add dag combiner code to recognize rotl, rotr
Add ppc code to match rotl

Targets should add rotl/rotr patterns if they have them

llvm-svn: 25222


# a1026371 05-Jan-2006 Jim Laskey <jlaskey@mac.com>

Grammer correction.

llvm-svn: 25106


# 762e9ec0 05-Jan-2006 Jim Laskey <jlaskey@mac.com>

Added initial support for DEBUG_LABEL allowing debug specific labels to be
inserted in the code.

llvm-svn: 25104


# 0da76a67 04-Jan-2006 Jim Laskey <jlaskey@mac.com>

Add unique id to debug location for debug label use (work in progress.)

llvm-svn: 25096


# 9babd861 23-Dec-2005 Chris Lattner <sabre@nondot.org>

improve comment: mention vectors

llvm-svn: 24971


# bc1be55a 23-Dec-2005 Chris Lattner <sabre@nondot.org>

add a new node

llvm-svn: 24969


# 7b8aac84 22-Dec-2005 Chris Lattner <sabre@nondot.org>

remove a dead node

llvm-svn: 24966


# 7c462768 16-Dec-2005 Jim Laskey <jlaskey@mac.com>

Added source file/line correspondence for dwarf (PowerPC only at this point.)

llvm-svn: 24748


# 41b1cdc7 06-Dec-2005 Nate Begeman <natebegeman@mac.com>

Teach the SelectionDAG ISel how to turn ConstantPacked values into
constant nodes with vector types. Also teach the asm printer how to print
ConstantPacked constant pool entries. This allows us to

Teach the SelectionDAG ISel how to turn ConstantPacked values into
constant nodes with vector types. Also teach the asm printer how to print
ConstantPacked constant pool entries. This allows us to generate altivec
code such as the following, which adds a vector constantto a packed float.

LCPI1_0: <4 x float> < float 0.0e+0, float 0.0e+0, float 0.0e+0, float 1.0e+0 >
.space 4
.space 4
.space 4
.long 1065353216 ; float 1
.text
.align 4
.globl _foo
_foo:
lis r2, ha16(LCPI1_0)
la r2, lo16(LCPI1_0)(r2)
li r4, 0
lvx v0, r4, r2
lvx v1, r4, r3
vaddfp v0, v1, v0
stvx v0, r4, r3
blr

For the llvm code:

void %foo(<4 x float> * %a) {
entry:
%tmp1 = load <4 x float> * %a;
%tmp2 = add <4 x float> %tmp1, < float 0.0, float 0.0, float 0.0, float 1.0 >
store <4 x float> %tmp2, <4 x float> *%a
ret void
}

llvm-svn: 24616

show more ...


# 0e0de2f3 30-Nov-2005 Evan Cheng <evan.cheng@apple.com>

Added an index field to GlobalAddressSDNode so it can represent X+12, etc.

llvm-svn: 24523


# 5a8726c5 29-Nov-2005 Chris Lattner <sabre@nondot.org>

Add support for a new STRING and LOCATION node for line number support, patch
contributed by Daniel Berlin, with a few cleanups here and there by me.

llvm-svn: 24512


# d37c1315 22-Nov-2005 Nate Begeman <natebegeman@mac.com>

Check in code to scalarize arbitrarily wide packed types for some simple
vector operations (load, add, sub, mul).

This allows us to codegen:
void %foo(<4 x float> * %a) {
entry:
%tmp1 = load <4 x

Check in code to scalarize arbitrarily wide packed types for some simple
vector operations (load, add, sub, mul).

This allows us to codegen:
void %foo(<4 x float> * %a) {
entry:
%tmp1 = load <4 x float> * %a;
%tmp2 = add <4 x float> %tmp1, %tmp1
store <4 x float> %tmp2, <4 x float> *%a
ret void
}

on ppc as:
_foo:
lfs f0, 12(r3)
lfs f1, 8(r3)
lfs f2, 4(r3)
lfs f3, 0(r3)
fadds f0, f0, f0
fadds f1, f1, f1
fadds f2, f2, f2
fadds f3, f3, f3
stfs f0, 12(r3)
stfs f1, 8(r3)
stfs f2, 4(r3)
stfs f3, 0(r3)
blr

llvm-svn: 24484

show more ...


# 2d4ff48c 20-Nov-2005 Chris Lattner <sabre@nondot.org>

add a new node type

llvm-svn: 24436


# b2e089c3 19-Nov-2005 Nate Begeman <natebegeman@mac.com>

Teach LLVM how to scalarize packed types. Currently, this only works on
packed types with an element count of 1, although more generic support is
coming. This allows LLVM to turn the following code

Teach LLVM how to scalarize packed types. Currently, this only works on
packed types with an element count of 1, although more generic support is
coming. This allows LLVM to turn the following code:

void %foo(<1 x float> * %a) {
entry:
%tmp1 = load <1 x float> * %a;
%tmp2 = add <1 x float> %tmp1, %tmp1
store <1 x float> %tmp2, <1 x float> *%a
ret void
}

Into:

_foo:
lfs f0, 0(r3)
fadds f0, f0, f0
stfs f0, 0(r3)
blr

llvm-svn: 24416

show more ...


# de1b5d6b 11-Nov-2005 Andrew Lenharth <andrewl@lenharth.org>

added a chain output

llvm-svn: 24306


# bd0127e4 11-Nov-2005 Andrew Lenharth <andrewl@lenharth.org>

Add support for a cycle counter intrinsic. As basically all processors have
this and have it in about the same form, I think this makes sense.
on X86, you do a RDTSC (64bit result, from any ring sin

Add support for a cycle counter intrinsic. As basically all processors have
this and have it in about the same form, I think this makes sense.
on X86, you do a RDTSC (64bit result, from any ring since the P5MMX)
on Alpha, you do a RDCC
on PPC, there is a sequence which may or may not work depending on how things
are setup by the OS. Or something like that. Maybe someone who knows PPC
can add support. Something about the time base register.
on Sparc, you read %tick, which in some solaris versions (>=8) is readable by
userspace
on IA64 read ar.itc

So I think the ulong is justified since all of those are 64bit.
Support is slighly flaky on old chips (P5 and lower) and sometimes
depends on OS (PPC, Sparc). But for modern OS/Hardware (aka this decade),
we should be ok.

I am still not sure what to do about lowering. I can either see a lower to 0, to
gettimeofday (or the target os equivalent), or loudly complaining and refusing to
continue.

I am commiting an Alpha implementation. I will add the X86 implementation if I
have to (I have use of it in the near future), but if someone who knows that
backend (and the funky multi-register results) better wants to add it, it would
take them a lot less time ;)

TODO: better lowering and legalizing, and support more platforms
llvm-svn: 24299

show more ...


# 46b1976a 09-Nov-2005 Chris Lattner <sabre@nondot.org>

Switch the allnodes list from a vector of pointers to an ilist of nodes.
This eliminates the vector, allows constant time removal of a node from
a graph, and makes iteration over the all nodes list s

Switch the allnodes list from a vector of pointers to an ilist of nodes.
This eliminates the vector, allows constant time removal of a node from
a graph, and makes iteration over the all nodes list stable when adding
nodes to the graph.

llvm-svn: 24262

show more ...


# 90f017c1 08-Nov-2005 Chris Lattner <sabre@nondot.org>

Change the ValueList array for each node to be shared instead of individually
allocated. Further, in the common case where a node has a single value, just
reference an element from a small array. T

Change the ValueList array for each node to be shared instead of individually
allocated. Further, in the common case where a node has a single value, just
reference an element from a small array. This is a small compile-time wi.

llvm-svn: 24250

show more ...


# e406e481 08-Nov-2005 Chris Lattner <sabre@nondot.org>

Switch the operandlist/valuelist from being vectors to being just an array.
This saves 12 bytes from SDNode, but doesn't speed things up substantially
(our graphs apparently already fit within the ca

Switch the operandlist/valuelist from being vectors to being just an array.
This saves 12 bytes from SDNode, but doesn't speed things up substantially
(our graphs apparently already fit within the cache on my g5). In any case
this reduces memory usage.

llvm-svn: 24248

show more ...


Revision tags: llvmorg-1.6.0
# 4b3932aa 23-Oct-2005 Andrew Lenharth <andrewl@lenharth.org>

add TargetExternalSymbol

llvm-svn: 23886


# 5fc36727 05-Oct-2005 Chris Lattner <sabre@nondot.org>

add a helper class

llvm-svn: 23633


# d3ea19b5 28-Sep-2005 Chris Lattner <sabre@nondot.org>

Add FP versions of the binary operators, keeping the int and fp worlds seperate.

llvm-svn: 23506


# 969af57d 02-Sep-2005 Chris Lattner <sabre@nondot.org>

Add a new ANY_EXTEND node, which operates like an extension but has undefined
top bits.

llvm-svn: 23200


1...<<3132333435