History log of /llvm-project/llvm/include/llvm/CodeGen/SelectionDAGNodes.h (Results 376 – 400 of 866)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 87cb471e 28-Aug-2012 Jakob Stoklund Olesen <stoklund@2pi.dk>

Remove extra MayLoad/MayStore flags from atomic_load/store.

These extra flags are not required to properly order the atomic
load/store instructions. SelectionDAGBuilder chains atomics as if they
wer

Remove extra MayLoad/MayStore flags from atomic_load/store.

These extra flags are not required to properly order the atomic
load/store instructions. SelectionDAGBuilder chains atomics as if they
were volatile, and SelectionDAG::getAtomic() sets the isVolatile bit on
the memory operands of all atomic operations.

The volatile bit is enough to order atomic loads and stores during and
after SelectionDAG.

This means we set mayLoad on atomic_load, mayStore on atomic_store, and
mayLoad+mayStore on the remaining atomic read-modify-write operations.

llvm-svn: 162733

show more ...


# 50882f79 16-Aug-2012 Nadav Rotem <nrotem@apple.com>

Add dump/dumpr methods to SDValue.

llvm-svn: 162014


# 505715d8 07-Aug-2012 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add SelectionDAG::getTargetIndex.

This adds support for TargetIndex operands during isel. The meaning of
these (index, offset, flags) operands is entirely defined by the target.

llvm-svn: 161453


# a62368c9 15-Jul-2012 Nadav Rotem <nadav.rotem@intel.com>

Refactor the code that checks that all operands of a node are UNDEFs.
Add a micro-optimization to getNode of CONCAT_VECTORS when both operands are undefs.
Can't find a testcase for this because VECTO

Refactor the code that checks that all operands of a node are UNDEFs.
Add a micro-optimization to getNode of CONCAT_VECTORS when both operands are undefs.
Can't find a testcase for this because VECTOR_SHUFFLE already handles undef operands, but Duncan suggested that we add this.

Together with Michael Kuperstein <michael.m.kuperstein@intel.com>

llvm-svn: 160229

show more ...


Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1
# 80c540e6 31-Mar-2012 Rafael Espindola <rafael.espindola@gmail.com>

Teach CodeGen's version of computeMaskedBits to understand the range metadata.
This is the CodeGen equivalent of r153747. I tested that there is not noticeable
performance difference with any combina

Teach CodeGen's version of computeMaskedBits to understand the range metadata.
This is the CodeGen equivalent of r153747. I tested that there is not noticeable
performance difference with any combination of -O0/-O2 /-g when compiling
gcc as a single compilation unit.

llvm-svn: 153817

show more ...


# 9349351d 18-Jan-2012 Jakob Stoklund Olesen <stoklund@2pi.dk>

Add a RegisterMaskSDNode class.

This SelectionDAG node will be attached to call nodes by LowerCall(),
and eventually becomes a MO_RegisterMask MachineOperand on the
MachineInstr representing the cal

Add a RegisterMaskSDNode class.

This SelectionDAG node will be attached to call nodes by LowerCall(),
and eventually becomes a MO_RegisterMask MachineOperand on the
MachineInstr representing the call instruction.

LowerCall() will attach a register mask that depends on the calling
convention.

llvm-svn: 148436

show more ...


# 339ced4e 15-Jan-2012 Benjamin Kramer <benny.kra@googlemail.com>

Return an ArrayRef from ShuffleVectorSDNode::getMask and push it through CodeGen.

llvm-svn: 148218


Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4
# c5c49466 10-Nov-2011 Owen Anderson <resistor@mac.com>

Add additional checking to ensure that MachineMemOperands are never set to null, which can happen in weird circumstances where target intrinsic hooks are implemented incorrectly.

llvm-svn: 144303


# 82cd9e81 08-Nov-2011 Pete Cooper <peter_cooper@apple.com>

Added invariant field to the DAG.getLoad method and changed all calls.

When this field is true it means that the load is from constant (runt-time or compile-time) and so can be hoisted from loops or

Added invariant field to the DAG.getLoad method and changed all calls.

When this field is true it means that the load is from constant (runt-time or compile-time) and so can be hoisted from loops or moved around other memory accesses

llvm-svn: 144100

show more ...


Revision tags: llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1
# e978d2f6 07-Sep-2011 Eli Friedman <eli.friedman@gmail.com>

Relax the MemOperands on atomics a bit. Fixes -verify-machineinstrs failures for atomic laod/store on ARM.

(The fix for the related failures on x86 is going to be nastier because we actually need A

Relax the MemOperands on atomics a bit. Fixes -verify-machineinstrs failures for atomic laod/store on ARM.

(The fix for the related failures on x86 is going to be nastier because we actually need Acquire memoperands attached to the atomic load instrs, etc.)

llvm-svn: 139221

show more ...


# 342e8df0 24-Aug-2011 Eli Friedman <eli.friedman@gmail.com>

Basic x86 code generation for atomic load and store instructions.

llvm-svn: 138478


# adec587d 29-Jul-2011 Eli Friedman <eli.friedman@gmail.com>

Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be
working on x86 (at least for trivial testcases); other architectures will
need more work so that they actually emit the a

Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be
working on x86 (at least for trivial testcases); other architectures will
need more work so that they actually emit the appropriate instructions for
orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC,
Mips, and Alpha backends need such changes.)

llvm-svn: 136457

show more ...


# 229907cd 18-Jul-2011 Chris Lattner <sabre@nondot.org>

land David Blaikie's patch to de-constify Type, with a few tweaks.

llvm-svn: 135375


# 5a00499e 07-Jul-2011 Lang Hames <lhames@gmail.com>

Add functions 'hasPredecessor' and 'hasPredecessorHelper' to SDNode. The
hasPredecessorHelper function allows predecessors to be cached to speed up
repeated invocations. This fixes PR10186.

X.isPred

Add functions 'hasPredecessor' and 'hasPredecessorHelper' to SDNode. The
hasPredecessorHelper function allows predecessors to be cached to speed up
repeated invocations. This fixes PR10186.

X.isPredecessorOf(Y) now just calls Y.hasPredecessor(X)

Y.hasPredecessor(X) calls Y.hasPredecessorHelper(X, Visited, Worklist) with
empty Visited and Worklist sets (i.e. no caching over invocations).

Y.hasPredecessorHelper(X, Visited, Worklist) caches search state in Visited
and Worklist to speed up repeated calls. The Visited set is searched for X
before going to the worklist to further search the DAG if necessary.

llvm-svn: 134592

show more ...


# 0ab5e2cd 15-Apr-2011 Chris Lattner <sabre@nondot.org>

Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!

llvm-svn: 129558


Revision tags: llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1
# 11a33811 23-Dec-2010 Chris Lattner <sabre@nondot.org>

flags -> glue for selectiondag

llvm-svn: 122509


# 3e5fbd74 21-Dec-2010 Chris Lattner <sabre@nondot.org>

rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for
something that just glues two nodes together, even if it is
sometimes used for flags.

llvm-svn: 122310


# 447762da 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com>

Merge System into Support.

llvm-svn: 120298


# 14627770 03-Nov-2010 Duncan Sands <baldrick@free.fr>

Simplify uses of MVT and EVT. An MVT can be compared directly
with a SimpleValueType, while an EVT supports equality and
inequality comparisons with SimpleValueType.

llvm-svn: 118169


# e660f4d0 26-Oct-2010 Dale Johannesen <dalej@apple.com>

Use a MemIntrinsicSDNode for ISD::PREFETCH, which touches
memory, so a MachineMemOperand is useful (not propagated
into the MachineInstr yet). No functional change except
for dump output.

llvm-svn:

Use a MemIntrinsicSDNode for ISD::PREFETCH, which touches
memory, so a MachineMemOperand is useful (not propagated
into the MachineInstr yet). No functional change except
for dump output.

llvm-svn: 117413

show more ...


# a94cc6df 20-Oct-2010 Dan Gohman <gohman@apple.com>

Make CodeGen TBAA-aware.

llvm-svn: 116890


Revision tags: llvmorg-2.8.0, llvmorg-2.8.0-rc3
# de93bb06 21-Sep-2010 Chris Lattner <sabre@nondot.org>

add some helpful accessors.

llvm-svn: 114400


Revision tags: llvmorg-2.8.0-rc2, llvmorg-2.8.0-rc1, llvmorg-2.8.0-rc0
# c54936c1 07-Jul-2010 Dan Gohman <gohman@apple.com>

Move ArgFlagsTy, OutputArg, and InputArg out of SelectionDAGNodes.h and
into a new header, TargetCallingConv.h.

llvm-svn: 107782


# a3ca21b2 06-Jul-2010 Devang Patel <dpatel@apple.com>

Propagate debug loc.

llvm-svn: 107710


# 4e49b59d 06-Jul-2010 Dan Gohman <gohman@apple.com>

Add versions of OutputArgReg, AnalyzeReturn, and AnalyzeCallOperands
which do not depend on SelectionDAG.

llvm-svn: 107666


1...<<11121314151617181920>>...35