<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/haskell.git/compiler, branch wip/prep-int64</title>
<subtitle>gitlab.haskell.org: ghc/ghc.git
</subtitle>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/'/>
<entry>
<title>Try to do more fixed-size `Int64#` and `Word64#`</title>
<updated>2021-12-17T16:12:08+00:00</updated>
<author>
<name>John Ericson</name>
<email>git@JohnEricson.me</email>
</author>
<published>2019-06-04T03:47:10+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=249b63c95975ce821981adaea27233c8ce5083da'/>
<id>249b63c95975ce821981adaea27233c8ce5083da</id>
<content type='text'>
We still have lots of CPP, but we are trying to make the 64-bit ones
more ready.

Co-authored-by: Sylvain Henry &lt;hsyl20@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We still have lots of CPP, but we are trying to make the 64-bit ones
more ready.

Co-authored-by: Sylvain Henry &lt;hsyl20@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Plugin load order should follow the commandline order (fixes #17884)</title>
<updated>2021-12-15T21:33:17+00:00</updated>
<author>
<name>Andrei Barbu</name>
<email>andrei@0xab.com</email>
</author>
<published>2021-09-30T21:19:36+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=f5a0b408c7e4ef71221eea3ea80ea250fbb28e18'/>
<id>f5a0b408c7e4ef71221eea3ea80ea250fbb28e18</id>
<content type='text'>
In the past the order was reversed because flags are consed onto a list.
No particular behavior was documented.

We now reverse the flags and document the behavior.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the past the order was reversed because flags are consed onto a list.
No particular behavior was documented.

We now reverse the flags and document the behavior.
</pre>
</div>
</content>
</entry>
<entry>
<title>CmmToLlvm: rename LCGConfig -&gt; LlvmCgConfig</title>
<updated>2021-12-15T01:55:06+00:00</updated>
<author>
<name>doyougnu</name>
<email>jeffrey.young@iohk.io</email>
</author>
<published>2021-12-10T22:21:05+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=70f0aafee13894fc0d6ca944682a77130bce7289'/>
<id>70f0aafee13894fc0d6ca944682a77130bce7289</id>
<content type='text'>
CmmToLlvm: renamce lcgPlatform -&gt; llvmCgPlatform

CmmToLlvm: rename lcgContext -&gt; llvmCgContext

CmmToLlvm: rename lcgFillUndefWithGarbage

CmmToLlvm: rename lcgSplitSections

CmmToLlvm: lcgBmiVersion -&gt; llvmCgBmiVersion

CmmToLlvm: lcgLlvmVersion -&gt; llvmCgLlvmVersion

CmmToLlvm: lcgDoWarn -&gt; llvmCgDoWarn

CmmToLlvm: lcgLlvmConfig -&gt; llvmCgLlvmConfig

CmmToLlvm: llvmCgPlatformMisc --&gt; llvmCgLlvmTarget
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CmmToLlvm: renamce lcgPlatform -&gt; llvmCgPlatform

CmmToLlvm: rename lcgContext -&gt; llvmCgContext

CmmToLlvm: rename lcgFillUndefWithGarbage

CmmToLlvm: rename lcgSplitSections

CmmToLlvm: lcgBmiVersion -&gt; llvmCgBmiVersion

CmmToLlvm: lcgLlvmVersion -&gt; llvmCgLlvmVersion

CmmToLlvm: lcgDoWarn -&gt; llvmCgDoWarn

CmmToLlvm: lcgLlvmConfig -&gt; llvmCgLlvmConfig

CmmToLlvm: llvmCgPlatformMisc --&gt; llvmCgLlvmTarget
</pre>
</div>
</content>
</entry>
<entry>
<title>CmmToLlvm.Config: strictify LlvmConfig field</title>
<updated>2021-12-15T01:55:06+00:00</updated>
<author>
<name>doyougnu</name>
<email>jeffrey.young@iohk.io</email>
</author>
<published>2021-12-10T22:06:48+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=bc663f87e7aac7853f2c27956d38dd6f30d24fe5'/>
<id>bc663f87e7aac7853f2c27956d38dd6f30d24fe5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>LLVM.CodeGen: use fast-string literals</title>
<updated>2021-12-15T01:55:06+00:00</updated>
<author>
<name>doyougnu</name>
<email>jeffrey.young@iohk.io</email>
</author>
<published>2021-12-10T22:02:38+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=800160229900aa97bb4ae1fa77c80521bf4379ce'/>
<id>800160229900aa97bb4ae1fa77c80521bf4379ce</id>
<content type='text'>
That is remove factorization of common strings and string building
code for the LLVM code gen ops. Replace these with string literals
to obey the FastString rewrite rule in GHC.Data.FastString and compute
the string length at compile time
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
That is remove factorization of common strings and string building
code for the LLVM code gen ops. Replace these with string literals
to obey the FastString rewrite rule in GHC.Data.FastString and compute
the string length at compile time
</pre>
</div>
</content>
</entry>
<entry>
<title>SysTools.Tasks Llvm.Types: remove redundant import</title>
<updated>2021-12-15T01:55:06+00:00</updated>
<author>
<name>doyougnu</name>
<email>jeffrey.young@iohk.io</email>
</author>
<published>2021-12-09T20:19:59+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=6b0fb9a078ae415e0720c7db961f5a1692099ff1'/>
<id>6b0fb9a078ae415e0720c7db961f5a1692099ff1</id>
<content type='text'>
Llvm.Types: remove redundant import

SysTools.Tasks: remove redundant import

- namely CmmToLlvm.Base
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Llvm.Types: remove redundant import

SysTools.Tasks: remove redundant import

- namely CmmToLlvm.Base
</pre>
</div>
</content>
</entry>
<entry>
<title>CmmToLlvm: Remove DynFlags, add LlvmCgConfig</title>
<updated>2021-12-15T01:55:06+00:00</updated>
<author>
<name>doyougnu</name>
<email>jeffrey.young@iohk.io</email>
</author>
<published>2021-12-08T20:29:07+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=ecaec722850cce498b67561708ee8e42df367dda'/>
<id>ecaec722850cce498b67561708ee8e42df367dda</id>
<content type='text'>
CodeOutput: LCGConfig, add handshake initLCGConfig

Add two modules:
GHC.CmmToLlvm.Config                -- to hold the Llvm code gen config
GHC.Driver.Config.CmmToLlvm         -- for initialization, other utils

CmmToLlvm: remove HasDynFlags, add LlvmConfig

CmmToLlvm: add lcgContext to LCGConfig

CmmToLlvm.Base: DynFlags --&gt; LCGConfig

Llvm: absorb LlvmOpts into LCGConfig

CmmToLlvm.Ppr: swap DynFlags --&gt; LCGConfig

CmmToLlvm.CodeGen: swap DynFlags --&gt; LCGConfig

CmmToLlvm.CodeGen: swap DynFlags --&gt; LCGConfig

CmmToLlvm.Data: swap LlvmOpts --&gt; LCGConfig

CmmToLlvm: swap DynFlags --&gt; LCGConfig

CmmToLlvm: move LlvmVersion to CmmToLlvm.Config

Additionally:
- refactor Config and initConfig to hold LlvmVersion
- push IO needed to get LlvmVersion to boundary between Cmm and LLvm
code generation
- remove redundant imports, this is much cleaner!

CmmToLlvm.Config: store platformMisc_llvmTarget

instead of all of platformMisc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
CodeOutput: LCGConfig, add handshake initLCGConfig

Add two modules:
GHC.CmmToLlvm.Config                -- to hold the Llvm code gen config
GHC.Driver.Config.CmmToLlvm         -- for initialization, other utils

CmmToLlvm: remove HasDynFlags, add LlvmConfig

CmmToLlvm: add lcgContext to LCGConfig

CmmToLlvm.Base: DynFlags --&gt; LCGConfig

Llvm: absorb LlvmOpts into LCGConfig

CmmToLlvm.Ppr: swap DynFlags --&gt; LCGConfig

CmmToLlvm.CodeGen: swap DynFlags --&gt; LCGConfig

CmmToLlvm.CodeGen: swap DynFlags --&gt; LCGConfig

CmmToLlvm.Data: swap LlvmOpts --&gt; LCGConfig

CmmToLlvm: swap DynFlags --&gt; LCGConfig

CmmToLlvm: move LlvmVersion to CmmToLlvm.Config

Additionally:
- refactor Config and initConfig to hold LlvmVersion
- push IO needed to get LlvmVersion to boundary between Cmm and LLvm
code generation
- remove redundant imports, this is much cleaner!

CmmToLlvm.Config: store platformMisc_llvmTarget

instead of all of platformMisc
</pre>
</div>
</content>
</entry>
<entry>
<title>ghc-bin: Add --merge-objs mode</title>
<updated>2021-12-15T01:53:51+00:00</updated>
<author>
<name>Ben Gamari</name>
<email>ben@smart-cactus.org</email>
</author>
<published>2021-11-19T17:39:45+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=5686f47ba1866094a1546473ae2f0c523fb20d9e'/>
<id>5686f47ba1866094a1546473ae2f0c523fb20d9e</id>
<content type='text'>
This adds a new mode, `--merge-objs`, which can be used to produce
merged GHCi library objects.

As future work we will rip out the object-merging logic in Hadrian and
Cabal and instead use this mode.

Closes #20712.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds a new mode, `--merge-objs`, which can be used to produce
merged GHCi library objects.

As future work we will rip out the object-merging logic in Hadrian and
Cabal and instead use this mode.

Closes #20712.
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Use withFile instead of bracket</title>
<updated>2021-12-15T01:53:51+00:00</updated>
<author>
<name>Ben Gamari</name>
<email>ben@smart-cactus.org</email>
</author>
<published>2021-11-19T18:43:21+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=71ecb55b0b3ada2c9841dbc9f4a36fed52eb652e'/>
<id>71ecb55b0b3ada2c9841dbc9f4a36fed52eb652e</id>
<content type='text'>
A minor refactoring noticed by hlint.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A minor refactoring noticed by hlint.
</pre>
</div>
</content>
</entry>
<entry>
<title>compiler: Drop `Maybe ModLocation` from T_MergeForeign</title>
<updated>2021-12-15T01:53:51+00:00</updated>
<author>
<name>Ben Gamari</name>
<email>ben@smart-cactus.org</email>
</author>
<published>2021-11-19T17:43:28+00:00</published>
<link rel='alternate' type='text/html' href='http://trove.baserock.org/cgit/delta/haskell.git/commit/?id=4f654071850e211370199dddefffbe4a85cd6040'/>
<id>4f654071850e211370199dddefffbe4a85cd6040</id>
<content type='text'>
This field was entirely unused.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This field was entirely unused.
</pre>
</div>
</content>
</entry>
</feed>
