8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"

Reviewed-by: thartmann
This commit is contained in:
Roland Westrelin 2020-03-10 10:45:01 +01:00
parent d112950b5b
commit 43e0165eea
7 changed files with 20 additions and 82 deletions

View file

@ -1905,9 +1905,8 @@ bool Compile::must_alias(const TypePtr* adr_type, int alias_idx) {
bool Compile::can_alias(const TypePtr* adr_type, int alias_idx) {
if (alias_idx == AliasIdxTop) return false; // the empty category
if (adr_type == NULL) return false; // NULL serves as TypePtr::TOP
// Known instance doesn't alias with bottom memory
if (alias_idx == AliasIdxBot) return !adr_type->is_known_instance(); // the universal category
if (adr_type->base() == Type::AnyPtr) return !C->get_adr_type(alias_idx)->is_known_instance(); // TypePtr::BOTTOM or its twins
if (alias_idx == AliasIdxBot) return true; // the universal category
if (adr_type->base() == Type::AnyPtr) return true; // TypePtr::BOTTOM or its twins
// the only remaining possible overlap is identity
int adr_idx = get_alias_index(adr_type);