[llvm-dev] Break nested instructions?

Irini Stavrakantonaki via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 16 02:44:15 PDT 2015

Is there any pass that breaks an expression out of an instruction's 
operand into its own instruction, so that such nested instructions 
become explicit and are thus easier to work with in?

e.g Following|call|instruction contains a|GEP|instruction as its first 
operand. Is there any pass which allows me to break up this:

|   %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str4, i32 0, i32 0), i32 %tmp6)

into these:

|%tmp = i8* getelementptr inbounds ([4 x i8]* @.str4, i32 0, i32 0)
%call = call i32 (i8*, ...)* @printf(i8* %tmp, i32 %tmp6)


Thank you in advance,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151016/2dee4942/attachment.html>

More information about the llvm-dev mailing list