<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 08/05/12 11:29, Ralf Karrenberg wrote:
<blockquote cite="mid:4FA8F588.707@cdl.uni-saarland.de" type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
On 5/8/12 11:40 AM, Richard Osborne wrote:<br>
<blockquote cite="mid:4FA8EA0B.1000701@xmos.com" type="cite">
<blockquote cite="mid:c55ba728-8f2d-4938-a248-3d3c3e266927@com"
type="cite">
<div class="moz-text-plain" wrap="true" graphical-quote="true"
style="font-family: -moz-fixed; font-size: 12px;"
lang="x-unicode">
<pre wrap="">Cheers,
Ralf</pre>
</div>
<div class="moz-text-plain" wrap="true" graphical-quote="true"
style="font-family: -moz-fixed; font-size: 12px;"
lang="x-western">
<pre wrap=""> /// hasAddressTaken - returns true if there are any uses of this basic block
/// other than direct branches, switches, etc. to it.
- bool hasAddressTaken() const { return getSubclassDataFromValue() != 0; }
+ bool hasAddressTaken() const {
+ return (getSubclassDataFromValue() & ~HasMetadataBit) != 0;
+ }
</pre>
</div>
</blockquote>
I think this will result in basic block metadata effecting
optimizations. What would happen if you just ignored metadata
here?<br>
</blockquote>
It will always treat a block that has metadata attached as a block
whose address has been taken, which results in a crash at a later
point (don't remember exactly where) because the address was never
taken.<br>
</blockquote>
Ah sorry, I totally misread this bit of the code. It looks fine to
me.<br>
<br>
<pre class="moz-signature" cols="72">--
Richard Osborne | XMOS
<a class="moz-txt-link-freetext" href="http://www.xmos.com">http://www.xmos.com</a>
</pre>
</body>
</html>