Changes between Version 5 and Version 6 of Commentary/Compiler/Backends/LLVM/Alias


Ignore:
Timestamp:
Jan 5, 2012 4:45:33 AM (4 years ago)
Author:
tibbe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/Backends/LLVM/Alias

    v5 v6  
    2222'''Answer''' (Simon Marlow): Sp[] and Hp[] never alias, R[] never aliases with Sp[], and that's about it.
    2323
     24== LLVM type system ==
     25
     26The above aliasing information can be encoded as follows:
     27
     28{{{
     29!0 = metadata !{ metadata !"top" }
     30!1 = metadata !{ metadata !"heap", metadata !0 }
     31!2 = metadata !{ metadata !"stack", metadata !0 }
     32}}}
     33
     34The fact that `R[]` never aliases with `Sp[]` is never used as the one way relation isn't expressible in LLVM.
     35
     36Stores/loads needs to be annotated with `!tbaa` and one of the above three types e.g.
     37
     38{{{
     39%ln1NH1 = load i64* %Sp_Arg, align 8, !tbaa !2
     40}}}
     41
    2442== Progress ==
    2543