< prev index next >

src/hotspot/share/adlc/formssel.cpp

Print this page
rev 52827 : Revert MachMemBarNode related diffs vs. upstream

*** 639,648 **** --- 639,664 ---- } return (USE_of_memory && !DEF_of_memory); } + bool InstructForm::is_wide_memory_kill(FormDict &globals) const { + if( _matrule == NULL ) return false; + if( !_matrule->_opType ) return false; + + if( strcmp(_matrule->_opType,"MemBarRelease") == 0 ) return true; + if( strcmp(_matrule->_opType,"MemBarAcquire") == 0 ) return true; + if( strcmp(_matrule->_opType,"MemBarReleaseLock") == 0 ) return true; + if( strcmp(_matrule->_opType,"MemBarAcquireLock") == 0 ) return true; + if( strcmp(_matrule->_opType,"MemBarStoreStore") == 0 ) return true; + if( strcmp(_matrule->_opType,"MemBarVolatile") == 0 ) return true; + if( strcmp(_matrule->_opType,"StoreFence") == 0 ) return true; + if( strcmp(_matrule->_opType,"LoadFence") == 0 ) return true; + + return false; + } + int InstructForm::memory_operand(FormDict &globals) const { // Machine independent loads must be checked for anti-dependences // Check if instruction has a USE of a memory operand class, or a def. int USE_of_memory = 0; int DEF_of_memory = 0;
*** 1160,1172 **** return "MachFastLockNode"; } else if (is_ideal_nop()) { return "MachNopNode"; } - else if (is_ideal_membar()) { - return "MachMemBarNode"; - } else if (is_ideal_jump()) { return "MachJumpNode"; } else if (is_mach_constant()) { return "MachConstantNode"; --- 1176,1185 ----
*** 4110,4121 **** !strcmp(_opType,"MemBarReleaseLock") || !strcmp(_opType,"LoadFence" ) || !strcmp(_opType,"StoreFence") || !strcmp(_opType,"MemBarVolatile") || !strcmp(_opType,"MemBarCPUOrder") || ! !strcmp(_opType,"MemBarStoreStore") || ! !strcmp(_opType,"OnSpinWait"); } bool MatchRule::is_ideal_loadPC() const { if ( _opType && (strcmp(_opType,"Set") == 0) && _rChild ) { return (strcmp(_rChild->_opType,"LoadPC") == 0); --- 4123,4133 ---- !strcmp(_opType,"MemBarReleaseLock") || !strcmp(_opType,"LoadFence" ) || !strcmp(_opType,"StoreFence") || !strcmp(_opType,"MemBarVolatile") || !strcmp(_opType,"MemBarCPUOrder") || ! !strcmp(_opType,"MemBarStoreStore"); } bool MatchRule::is_ideal_loadPC() const { if ( _opType && (strcmp(_opType,"Set") == 0) && _rChild ) { return (strcmp(_rChild->_opType,"LoadPC") == 0);
< prev index next >