Mercurial > hg > truffle
comparison graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java @ 14707:6ce6c4ccba8f
initial support for memory arithmetic on x86
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Thu, 20 Mar 2014 15:57:03 -0700 |
parents | 34c07ef28bc9 |
children | fbae9be45c95 |
comparison
equal
deleted
inserted
replaced
14706:579a2a124c95 | 14707:6ce6c4ccba8f |
---|---|
24 | 24 |
25 import com.oracle.graal.api.meta.*; | 25 import com.oracle.graal.api.meta.*; |
26 import com.oracle.graal.graph.*; | 26 import com.oracle.graal.graph.*; |
27 import com.oracle.graal.graph.spi.*; | 27 import com.oracle.graal.graph.spi.*; |
28 import com.oracle.graal.nodes.*; | 28 import com.oracle.graal.nodes.*; |
29 import com.oracle.graal.nodes.extended.*; | |
29 import com.oracle.graal.nodes.spi.*; | 30 import com.oracle.graal.nodes.spi.*; |
30 import com.oracle.graal.nodes.type.*; | 31 import com.oracle.graal.nodes.type.*; |
31 | 32 |
32 @NodeInfo(shortName = "|") | 33 @NodeInfo(shortName = "|") |
33 public final class OrNode extends BitLogicNode implements Canonicalizable { | 34 public final class OrNode extends BitLogicNode implements Canonicalizable { |
73 | 74 |
74 @Override | 75 @Override |
75 public void generate(ArithmeticLIRGenerator gen) { | 76 public void generate(ArithmeticLIRGenerator gen) { |
76 gen.setResult(this, gen.emitOr(gen.operand(x()), gen.operand(y()))); | 77 gen.setResult(this, gen.emitOr(gen.operand(x()), gen.operand(y()))); |
77 } | 78 } |
79 | |
80 @Override | |
81 public boolean generate(MemoryArithmeticLIRLowerer gen, Access access) { | |
82 Value result = gen.emitOrMemory(x(), y(), access); | |
83 if (result != null) { | |
84 gen.setResult(this, result); | |
85 } | |
86 return result != null; | |
87 } | |
78 } | 88 } |