< prev index next >
src/hotspot/share/adlc/formssel.cpp
Print this page
rev 52827 : Revert MachMemBarNode related diffs vs. upstream
@@ -639,10 +639,26 @@
}
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,13 +1176,10 @@
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";
@@ -4110,12 +4123,11 @@
!strcmp(_opType,"MemBarReleaseLock") ||
!strcmp(_opType,"LoadFence" ) ||
!strcmp(_opType,"StoreFence") ||
!strcmp(_opType,"MemBarVolatile") ||
!strcmp(_opType,"MemBarCPUOrder") ||
- !strcmp(_opType,"MemBarStoreStore") ||
- !strcmp(_opType,"OnSpinWait");
+ !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 >