[LLVMdev] Address space extension

Eric Christopher echristo at gmail.com
Thu Aug 8 12:59:24 PDT 2013


On Thu, Aug 8, 2013 at 12:49 PM, Michele Scandale
<michele.scandale at gmail.com> wrote:
> On 08/08/2013 07:09 PM, Justin Holewinski wrote:
>>
>> I like having such a guarantee available, but I hesitate to *require*
>> metadata in the IR.  Perhaps if the metadata doesn't exist the verifier
>> assumes the casts are valid and the optimizers have to assume all
>> address spaces alias?
>
>
> Without the overlap information the process is still safe if the default
> behavior is aliasing between all the address spaces.
>
> The *mapping information* are necessary to have a safe instruction
> selection: they should guarantee that every (logical) address space in the
> IR is mapped to an address space that is known in the backend.
>
> Do you agree with this specific point related to *mapping information*?
>

I don't believe so, no. Metadata should not be required for correct
program behavior. It can be necessary for fast program behavior, but
not for correct. The IR level handles the proper semantics of the
program, metadata can provide extra optimization information. As an
example see the TBAA work that was done.

-eric



More information about the llvm-dev mailing list