<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<div class="post-text" itemprop="text" style="margin: 0px 0px 5px;
padding: 0px; border: 0px; font-size: 15px; width: 660px;
word-wrap: break-word; line-height: 1.3; color: rgb(34, 34, 34);
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-style: normal; font-variant: normal; font-weight: normal;
letter-spacing: normal; orphans: auto; text-align: left;
text-indent: 0px; text-transform: none; white-space: normal;
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;
background-color: rgb(255, 255, 255);">
<p style="margin: 0px 0px 1em; padding: 0px; border: 0px;
font-size: 15px; clear: both;">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?</p>
<p style="margin: 0px 0px 1em; padding: 0px; border: 0px;
font-size: 15px; clear: both;">e.g Following<span
class="Apple-converted-space"> </span><code style="margin:
0px; padding: 1px 5px; border: 0px; font-size: 13px;
font-family: Consolas, Menlo, Monaco, 'Lucida Console',
'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans
Mono', 'Courier New', monospace, sans-serif; white-space:
pre-wrap; background-color: rgb(238, 238, 238);">call</code><span
class="Apple-converted-space"> </span>instruction contains a<span
class="Apple-converted-space"> </span><code style="margin:
0px; padding: 1px 5px; border: 0px; font-size: 13px;
font-family: Consolas, Menlo, Monaco, 'Lucida Console',
'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans
Mono', 'Courier New', monospace, sans-serif; white-space:
pre-wrap; background-color: rgb(238, 238, 238);">GEP</code><span
class="Apple-converted-space"> </span>instruction as its first
operand. Is there any pass which allows me to break up this:</p>
<pre style="margin: 0px 0px 1em; padding: 5px; border: 0px; font-size: 13px; overflow: auto; width: auto; max-height: 600px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; word-wrap: normal; background-color: rgb(238, 238, 238);"><code style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; white-space: inherit; background-color: rgb(238, 238, 238);"> %call = call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str4, i32 0, i32 0), i32 %tmp6)
</code></pre>
<p style="margin: 0px 0px 1em; padding: 0px; border: 0px;
font-size: 15px; clear: both;">into these:</p>
<pre style="margin: 0px 0px 1em; padding: 5px; border: 0px; font-size: 13px; overflow: auto; width: auto; max-height: 600px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; word-wrap: normal; background-color: rgb(238, 238, 238);"><code style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, sans-serif; white-space: inherit; background-color: rgb(238, 238, 238);">%tmp = i8* getelementptr inbounds ([4 x i8]* @.str4, i32 0, i32 0)
%call = call i32 (i8*, ...)* @printf(i8* %tmp, i32 %tmp6)
</code></pre>
<p style="margin: 0px 0px 1em; padding: 0px; border: 0px;
font-size: 15px; clear: both;">?</p>
</div>
Thank you in advance,<br>
<br>
--istavrak<br class="Apple-interchange-newline">
</body>
</html>