mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-28 19:25:00 +00:00
Added MemIntrinsicNode which is useful to represent target intrinsics that
touches memory and need an associated MemOperand git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57712 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -436,18 +436,33 @@ public:
|
||||
SDValue getVAArg(MVT VT, SDValue Chain, SDValue Ptr,
|
||||
SDValue SV);
|
||||
|
||||
/// getAtomic - Gets a node for an atomic op, produces result and chain, takes
|
||||
/// 3 operands
|
||||
/// getAtomic - Gets a node for an atomic op, produces result and chain and
|
||||
/// takes 3 operands
|
||||
SDValue getAtomic(unsigned Opcode, SDValue Chain, SDValue Ptr,
|
||||
SDValue Cmp, SDValue Swp, const Value* PtrVal,
|
||||
unsigned Alignment=0);
|
||||
|
||||
/// getAtomic - Gets a node for an atomic op, produces result and chain, takes
|
||||
/// 2 operands
|
||||
/// getAtomic - Gets a node for an atomic op, produces result and chain and
|
||||
/// takes 2 operands.
|
||||
SDValue getAtomic(unsigned Opcode, SDValue Chain, SDValue Ptr,
|
||||
SDValue Val, const Value* PtrVal,
|
||||
unsigned Alignment = 0);
|
||||
|
||||
/// getMemIntrinsicNode - Creates a MemIntrinsicNode that may produce a
|
||||
/// result and takes a list of operands.
|
||||
SDValue getMemIntrinsicNode(unsigned Opcode,
|
||||
const MVT *VTs, unsigned NumVTs,
|
||||
const SDValue *Ops, unsigned NumOps,
|
||||
MVT MemVT, const Value *srcValue, int SVOff,
|
||||
unsigned Align = 0, bool Vol = false,
|
||||
bool ReadMem = true, bool WriteMem = true);
|
||||
|
||||
SDValue getMemIntrinsicNode(unsigned Opcode, SDVTList VTList,
|
||||
const SDValue *Ops, unsigned NumOps,
|
||||
MVT MemVT, const Value *srcValue, int SVOff,
|
||||
unsigned Align = 0, bool Vol = false,
|
||||
bool ReadMem = true, bool WriteMem = true);
|
||||
|
||||
/// getMergeValues - Create a MERGE_VALUES node from the given operands.
|
||||
/// Allowed to return something different (and simpler) if Simplify is true.
|
||||
SDValue getMergeValues(const SDValue *Ops, unsigned NumOps,
|
||||
|
Reference in New Issue
Block a user