< prev index next >
src/share/vm/adlc/formssel.cpp
Print this page
*** 21,30 ****
--- 21,31 ----
* questions.
*
*/
// FORMS.CPP - Definitions for ADL Parser Forms Classes
+ #include "utilities/macros.hpp"
#include "adlc.hpp"
//==============================Instructions===================================
//------------------------------InstructForm-----------------------------------
InstructForm::InstructForm(const char *id, bool ideal_only)
*** 1240,1250 ****
if (_matrule != NULL &&
this != short_branch && // Don't match myself
!is_short_branch() && // Don't match another short branch variant
reduce_result() != NULL &&
strcmp(reduce_result(), short_branch->reduce_result()) == 0 &&
! _matrule->equivalent(AD.globalNames(), short_branch->_matrule)) {
// The instructions are equivalent.
// Now verify that both instructions have the same parameters and
// the same effects. Both branch forms should have the same inputs
// and resulting projections to correctly replace a long branch node
--- 1241,1252 ----
if (_matrule != NULL &&
this != short_branch && // Don't match myself
!is_short_branch() && // Don't match another short branch variant
reduce_result() != NULL &&
strcmp(reduce_result(), short_branch->reduce_result()) == 0 &&
! _matrule->equivalent(AD.globalNames(), short_branch->_matrule)
! AARCH64_ONLY(&& equivalent_predicates(this, short_branch))) {
// The instructions are equivalent.
// Now verify that both instructions have the same parameters and
// the same effects. Both branch forms should have the same inputs
// and resulting projections to correctly replace a long branch node
< prev index next >