Displaying 20 results from an estimated 1100 matches similar to: "[LLVMdev] GHC, aliases, and LLVM HEAD"
2014 May 26
3
[LLVMdev] GHC, aliases, and LLVM HEAD
Rafael Espíndola <rafael.espindola at gmail.com> writes:
> On 25 May 2014 21:29, Ben Gamari <bgamari.foss at gmail.com> wrote:
>>
>> For a while now LLVM has started rejecting aliases referring to things
>> other than definitions[1].
>
> We started checking for it. Aliases are just another label in an
> object file. The linker itself doesn't know they
2014 Jun 03
3
[LLVMdev] GHC, aliases, and LLVM HEAD
> It looks fairly likely llvm will accept arbitrary expressions as
> aliasees again (see thread on llvmdev), but the restrictions inherent
> from what alias are at the object level will remain, just be reworded
> a bit. For example, we will have something along the lines of "the
> aliasee expression cannot contain an undefined GlobalValue".
And this is in: r210062.
Let
2014 Jul 20
2
[LLVMdev] GHC, aliases, and LLVM HEAD
Reid Kleckner <rnk at google.com> writes:
> On Tue, Jun 3, 2014 at 1:29 PM, Rafael Espíndola <rafael.espindola at gmail.com
>> wrote:
>
>> > It looks fairly likely llvm will accept arbitrary expressions as
>> > aliasees again (see thread on llvmdev), but the restrictions inherent
>> > from what alias are at the object level will remain, just be
2010 Jun 08
0
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
On Tue, 8 Jun 2010 11:42:41 +0100, David Terei <davidterei at gmail.com>
wrote:
> Hi All,
>
> The GHC developers would like to add support to llvm to enable the
> order that code and data are laid out in, in the resulting assembly
> code produced by llvm to be defined by the user. The reason we would
> like to have this feature is explained in the blog post on GHC's
2010 Jun 08
0
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
On Jun 8, 2010, at 3:42 AM, David Terei wrote:
> The GHC developers would like to add support to llvm to enable the
> order that code and data are laid out in, in the resulting assembly
> code produced by llvm to be defined by the user. The reason we would
> like to have this feature is explained in the blog post on GHC's use
> of llvm here:
2011 Jun 17
0
[LLVMdev] ARM support status (GHC/ARM new calling convention)
I don't know if GuaranteedTailCallOpt is in anyone's plans. It might be a good idea to implement some time. I am not sure what GHC's exact needs are, though.
Cameron
On Jun 17, 2011, at 1:49 PM, Karel Gardas wrote:
>
> Hello Cameron,
>
> thanks a lot for your fast answer, which just makes me curious if making ARM tailcalls on par with x86 in the future is on some of
2012 Jun 29
1
[LLVMdev] Request for merge: GHC/ARM calling convention.
On 06/29/12 11:12 PM, Renato Golin wrote:
> On 29 June 2012 17:46, Karel Gardas<karel.gardas at centrum.cz> wrote:
>> Yes and no. Shortly: original GHC/ARM/LLVM port was done by Stephen on
>> ARMv5/Qemu IIRC. I've later added whole VFP support and ARMv7 support. The
>> code in GHC is properly #ifdefed, so if there is no VFP available on pre
>> ARMv6, then
2012 Jun 29
0
[LLVMdev] Request for merge: GHC/ARM calling convention.
On 29 June 2012 17:46, Karel Gardas <karel.gardas at centrum.cz> wrote:
> Yes and no. Shortly: original GHC/ARM/LLVM port was done by Stephen on
> ARMv5/Qemu IIRC. I've later added whole VFP support and ARMv7 support. The
> code in GHC is properly #ifdefed, so if there is no VFP available on pre
> ARMv6, then it's not used. ie. GHC STG floating points regs are then
>
2012 Feb 15
0
[LLVMdev] LLVM GHC Backend: Tables Next To Code
On Feb 14, 2012, at 10:30 AM, David Terei wrote:
> Hmm writing a blog post about TNTC is beyond the time I have right now.
Sure, understandable. I'm surprised someone else hasn't already :)
> Here is some high level documentation of the layout of Heap objects in GHC:
>
> http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects#InfoTables
>
> With
2010 Jun 08
4
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
Hi All,
The GHC developers would like to add support to llvm to enable the
order that code and data are laid out in, in the resulting assembly
code produced by llvm to be defined by the user. The reason we would
like to have this feature is explained in the blog post on GHC's use
of llvm here: http://blog.llvm.org/2010/05/glasgow-haskell-compiler-and-llvm.html,
specifically under the title,
2012 Jun 29
2
[LLVMdev] Request for merge: GHC/ARM calling convention.
Hi Renato,
On 06/25/12 12:13 AM, Renato Golin wrote:
> Hi Karel,
>
> I understand this patch has already been merged (to 3.0), so don't
> take my question as stopping the merge to head, I'm just making sure I
> got it right... The rest looks correct.
>
> + CCIfType<[v2f64], CCAssignToReg<[Q4, Q5]>>,
> + CCIfType<[f64], CCAssignToReg<[D8, D9,
2011 Jun 17
2
[LLVMdev] ARM support status (GHC/ARM new calling convention)
Hello Cameron,
thanks a lot for your fast answer, which just makes me curious if making
ARM tailcalls on par with x86 in the future is on some of the
development plans already? If not, then what do you think is the
complexity of such work?
Thanks!
Karel
On 06/17/11 10:41 PM, Cameron Zwarich wrote:
> They work pretty well now, at least on Thumb2 / Darwin. It is still fairly conservative
2010 Jun 08
2
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
Let me point out that projects using standard toolchain (e.g.
binutils) can already reorder code and data pretty much arbitrary
using sections and linker scripts.
I think it's still attractive to have reordering in LLVM to be
independent from external toolchain. This will allow reordering in JIT
and other interesting things.
I agree with John that special global with ordered list looks like
2010 Jun 08
0
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
On Tue, Jun 8, 2010 at 4:15 PM, Eugene Toder <eltoder at gmail.com> wrote:
> Let me point out that projects using standard toolchain (e.g.
> binutils) can already reorder code and data pretty much arbitrary
> using sections and linker scripts.
> I think it's still attractive to have reordering in LLVM to be
> independent from external toolchain. This will allow reordering
2012 Feb 15
2
[LLVMdev] LLVM GHC Backend: Tables Next To Code
On Feb 15, 2012, at 12:16 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On Feb 14, 2012, at 10:30 AM, David Terei wrote:
>
>> Hmm writing a blog post about TNTC is beyond the time I have right now.
>
> Sure, understandable. I'm surprised someone else hasn't already :)
>
>> Here is some high level documentation of the layout of Heap objects
2012 Feb 15
0
[LLVMdev] LLVM GHC Backend: Tables Next To Code
> This is starting to look very similar to how ARM constant islands work, without the extra ugliness from how small the ARM immediate displacements are.
>
> -Jim
Would there be any reason that this couldn't be seen as an opportunity to move the constant islands pass out of the ARM backend and make the target-independent constant pools (which ARM bypasses completely) more generic?
2010 Jun 09
2
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
Yes, the global structure is constant. This is indeed a side-table.
Overriding section of global to be in text is simple -- LLVM already
supports section attribute on globals and functions. However we also
need a specific ordering in text.
With some extra work this ordering can be achieved with gnu linker (I
posted example implementation earlier) without any changes to LLVM, so
the main points for
2012 Feb 14
3
[LLVMdev] LLVM GHC Backend: Tables Next To Code
Hmm writing a blog post about TNTC is beyond the time I have right now.
Here is some high level documentation of the layout of Heap objects in GHC:
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects#InfoTables
With TNTC enabled we generate code for closures of this form:
.text
.align 8
.long Main_main1_srt-(Main_main1_info)+0
.long 0
.quad 4294967299
.quad 0
2010 Jun 09
0
[LLVMdev] Adding support to LLVM for data & code layout (needed by GHC)
On Wed, Jun 9, 2010 at 4:16 PM, Eugene Toder <eltoder at gmail.com> wrote:
> Yes, the global structure is constant. This is indeed a side-table.
> Overriding section of global to be in text is simple -- LLVM already
> supports section attribute on globals and functions. However we also
> need a specific ordering in text.
> With some extra work this ordering can be achieved
2014 May 27
2
[LLVMdev] GHC, aliases, and LLVM HEAD
Rafael Espíndola <rafael.espindola at gmail.com> writes:
> On 25 May 2014 21:29, Ben Gamari <bgamari.foss at gmail.com> wrote:
>> Sure. I think the only reason our use of aliases worked previously was
>> that the optimizer elided them long before they could make it into an
>> object file.
>
> If that is the case, you should be able to just directly replace