Skip to content

Commit

Permalink
Merge pull request #5250 from Leonardo2718/valhalla-acmp
Browse files Browse the repository at this point in the history
Disable regDepCopyRemoval when value types are enabled
  • Loading branch information
andrewcraik authored May 28, 2020
2 parents 8a35b03 + 9482475 commit d06d08b
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions compiler/control/OMROptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2315,6 +2315,24 @@ OMR::Options::jitLatePostProcess(TR::OptionSet *optionSet, void * jitConfig)
fej9->waitOnCompiler(jitConfig);
}
}

// Disable regDepCopyRemoval when value types are enabled
//
// In OpenJ9, the implementation of value types does not behave well with
// regDepCopyRemoval. Specifically, the ifacmp{eq,ne} operations rely on
// lowering that requires basic block splitting after GRA.
// RegDepCopyRemoval currently leaves the trees in a state that the post
// GRA block splitter cannot handle. So, for now, the optimization is
// disabled.
//
// https://github.com/eclipse/openj9/issues/9712 was opened to track the
// work to re-enable the optimization.
//
// Unfortunately, the design of the option processing framework requires
// the disabling code to be in OMR (rather than OpenJ9) and guarded
// with J9_PROJECT_SPECIFIC.
if (TR::Compiler->om.areValueTypesEnabled())
_disabledOptimizations[regDepCopyRemoval] = true;
#endif

}
Expand Down

0 comments on commit d06d08b

Please sign in to comment.