I figured out what was happening to the rules.  In case anyone finds this thread later: rules for local functions do not go in the ModGuts or CgGuts, but are instead put in the IdInfo in individual Id's.  A description of this is in the [Overall plumbing for rules] note in Rules:
http://hackage.haskell.org/package/ghc-8.6.1/docs/src/Rules.html

-Bill

On Apr 12, 2019, at 11:04 AM, Bill Hallahan <william.hallahan@yale.edu> wrote:

Thanks Roland. Unfortunately, this also doesn't seem to work- I tried unsetting Opt_IgnoreInterfacePragmas both with and without setting Opt_EnableRewriteRules, and no combination results in the rules being loaded.

Bill

On Apr 12, 2019, at 4:25 AM, Roland Senn <rsx@bluewin.ch> wrote:

Opt_IgnoreInterfacePragmas