Skip to content

-ddump-cmm doesn't work when compiling cmm files

I want to see Cmm generated for StgMiscClosures.cmm so I tried adding -ddump-cmm to the command the build system runs to build it, which doesn't work:

$ "inplace/bin/ghc-stage1" -static -O0 -H64m -Wall -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -DFS_NAMESPACE=rts -this-unit-id rts -dcmm-lint -i -irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen -O2 -Wcpp-undef -Wnoncanonical-monad-instances -c rts/StgMiscClosures.cmm -o rts/dist/build/StgMiscClosures.o -fforce-recomp -ddump-cmm

Why do I need cmm dumps of cmm files?

  • When building Cmm even the parser does code generation, so the Cmm after parsing is quite different than the input and contains useful information.
  • I want all macros to be expanded, running CPP manually is painful.
  • I currently can't see output of Cmm optimisations when building Cmm files.
Trac metadata
Trac field Value
Version 8.6.3
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information