There was a bug in ARCOptAddrMode.cpp found by external testing. Instead of maintaining the original pass I chose to upstream the Synopsys out-of-tree pass. It will be easier to maintain fixes and enhancements this way.
Addressed the issues raised by Graham Yiu regarding Synopsys specific bug report numbers and release versions in comments
EMACS will want to indent everything in the namespace without the close curly brace