<div dir="ltr">According to the documentation,<div><br></div><div>> This file demotes all registers to memory references. It is intended to be the inverse of mem2reg. By converting to load instructions, the only values live across basic blocks are alloca instructions and load instructions before phi nodes. It is intended that this should make CFG hacking much easier. To make later hacking easier, the entry block is split into two, such that all introduced alloca instructions (and nothing else) are in the entry block.</div><div><br></div><div>It does make sense that converting everything back to memory references, would make CFG hacking easier. For example, simplifycfg would have an easier job if it requires reg2mem to have been run first.</div><div><br></div><div>Does simplifycfg, or any other pass, actually have a 'reg2mem must have been run first' dependency?</div></div>