[llvm-commits] [llvm] r45818 - /llvm/trunk/lib/Target/TargetSelectionDAG.td
Chris Lattner
sabre at nondot.org
Wed Jan 9 20:44:32 PST 2008
Author: lattner
Date: Wed Jan 9 22:44:32 2008
New Revision: 45818
URL: http://llvm.org/viewvc/llvm-project?rev=45818&view=rev
Log:
add SDNPMayLoad to the 'load' sdnode definition. This is enough to get all the x86
instructions (with patterns) that load memory marked, for example.
Modified:
llvm/trunk/lib/Target/TargetSelectionDAG.td
Modified: llvm/trunk/lib/Target/TargetSelectionDAG.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/TargetSelectionDAG.td?rev=45818&r1=45817&r2=45818&view=diff
==============================================================================
--- llvm/trunk/lib/Target/TargetSelectionDAG.td (original)
+++ llvm/trunk/lib/Target/TargetSelectionDAG.td Wed Jan 9 22:44:32 2008
@@ -190,6 +190,7 @@
def SDNPInFlag : SDNodeProperty; // Read a flag operand
def SDNPOptInFlag : SDNodeProperty; // Optionally read a flag operand
def SDNPMayStore : SDNodeProperty; // May write to memory, sets 'mayStore'.
+def SDNPMayLoad : SDNodeProperty; // May read memory, sets 'mayLoad'.
//===----------------------------------------------------------------------===//
// Selection DAG Node definitions.
@@ -313,7 +314,8 @@
// Do not use ld, st directly. Use load, extload, sextload, zextload, store,
// and truncst (see below).
-def ld : SDNode<"ISD::LOAD" , SDTLoad, [SDNPHasChain]>;
+def ld : SDNode<"ISD::LOAD" , SDTLoad,
+ [SDNPHasChain, SDNPMayLoad]>;
def st : SDNode<"ISD::STORE" , SDTStore,
[SDNPHasChain, SDNPMayStore]>;
def ist : SDNode<"ISD::STORE" , SDTIStore,
More information about the llvm-commits
mailing list