Simplify expressions in LLVM SSA -
there pass breaks constant gep expression out of instruction's operand own instruction, such nested gep expressions become explicit , easier work in subsequent passes.
now have similar problem. ssa phi instruction (link):
while.cond: ; preds = %while.body, %entry %n.0 = phi %struct.node* [ bitcast ({ %struct.node*, i32, [4 x i8] }* @n1 %struct.node*), %entry ], [ %13, %while.body ] ...
contains bitcast instruction (link) "inlined" operand. exists there pass allows me break ssa of given module basic instructions, "un-inlining" such nested expressions make them explicit ssa instructions?
i don't know of such pass.
however, looks me modifying safecode's breakconstantgeps
pass should easy: change condition inserted worklist isa<phinode>
instead of operand loop checking hasconstantgep
.
Comments
Post a Comment