Home | History | Annotate | Download | only in compiler

Lines Matching refs:left

206 // For shorter pattern matching code, this struct matches both the left and
208 // if they appear on the left hand side of a commutative operation.
209 template <typename Left, typename Right>
220 typedef Left LeftMatcher;
223 const Left& left() const { return left_; }
226 bool IsFoldable() const { return left().HasValue() && right().HasValue(); }
227 bool LeftEqualsRight() const { return left().node() == right().node(); }
232 node()->ReplaceInput(0, left().node());
238 if (left().HasValue() && !right().HasValue()) {
243 Left left_;
339 return this->left().node()->InputAt(0);
349 Matcher left_matcher(this->left().node(), true);
369 this->left().opcode() != kAddOpcode) {
436 Node* left = m.left().node();
444 if (m.HasIndexInput() && left->OwnedBy(node)) {
447 scale_expression = left;
453 base = right_matcher.left().node();
467 if (left->opcode() == AddMatcher::kOpcode && left->OwnedBy(node)) {
468 AddMatcher left_matcher(left);
469 Node* left_left = left_matcher.left().node();
471 if (left_matcher.HasIndexInput() && left_left->OwnedBy(left)) {
490 index = left;
506 index = left;
513 base = left;
517 base = left;