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


Ignore:
Timestamp:
Jan 5, 2012 4:45:33 AM (2 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