[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