<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<pre class="moz-quote-pre" wrap="">> By the time we do CorePrep, the hi files should already have been written.
I don't think so. When we generate real code we write the interface after the backend has generated the output object. See Note [Writing interface files] in GHC.Driver.Main
Cheers,
Sylvain
</pre>
<div class="moz-cite-prefix">On 17/09/2020 12:17, Cheng Shao wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CALHrtFkp8PbHAu1SgLGr+59++zPRUOi_n3_bjaL6dxxkGB4x4A@mail.gmail.com">
<pre class="moz-quote-pre" wrap="">Hi Ben,
The -ddump-if-trace output is attached here. The error is produced
when compiling GHC.Types in ghc-prim.
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Note that interface files are written after the Core pipeline is run.
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Sorry for the confusion, I didn't mean the Core simplifier pipeline. I
mean the "Core -> Iface -> Core" roundtrip I tried to perform using
the output of CorePrep. By the time we do CorePrep, the hi files
should already have been written.
On Wed, Sep 16, 2020 at 11:48 PM Ben Gamari <a class="moz-txt-link-rfc2396E" href="mailto:ben@smart-cactus.org"><ben@smart-cactus.org></a> wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">
Cheng Shao <a class="moz-txt-link-rfc2396E" href="mailto:cheng.shao@tweag.io"><cheng.shao@tweag.io></a> writes:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">Hi all,
Following a short chat in #ghc last week, I did a first attempt of
reusing existing Iface logic to implement serialization for
codegen-related Core. The implementation is included in the attached
patch (~100 loc). As a quick and dirty validation of whether it works,
I also modified the codegen pipeline logic to do a roundtrip: after
CorePrep, the Core bits are converted to Iface, then we immediately
convert it back and use it for later compiling.
With the patch applied, stage-1 GHC would produce a "missing hi file"
error like:
: Bad interface file: _build/stage1/libraries/ghc-prim/build/GHC/Types.hi
_build/stage1/libraries/ghc-prim/build/GHC/Types.hi:
openBinaryFile: does not exist (No such file or directory)
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">Hi Cheng,
Which module is being compiled when this error is produced? Could you
provide -ddump-if-trace output for the failing compilation?
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">The error surprises me, since by the time we perform the Core-to-Core
roundtrip, the .hi file should already have been written to disk. Is
there anything obviously wrong with the implementation? I'd appreciate
any pointers or further questions, thanks a lot!
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">Note that interface files are written after the Core pipeline is run.
Cheers,
- Ben
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
ghc-devs mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a>
<a class="moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a>
</pre>
</blockquote>
</blockquote>
</body>
</html>