[LLVMdev] [proposal] Extensible IR metadata

Chris Lattner clattner at apple.com
Fri Sep 11 16:57:58 PDT 2009


On Sep 11, 2009, at 4:55 PM, Dan Gohman wrote:

>>
>> I wrote: "Note that this document talks about metadata for  
>> instructions, it might make sense to generalize this to being  
>> metadata for all non-uniqued values (global variables, functions,  
>> basic blocks, arguments), but I'm just keeping it simple for now."
>
> I missed that part.
>
>> However, constant exprs are uniqued.  What would you find it useful  
>> for?
>
> We have inbounds on ConstantExprs today, for example.

... and it was an interesting source of problems.  Do you think that  
inbounds on constantexprs is really a good idea?  It means that we can  
get into a world where we have:  "gep p, 0, 1" and "gep inbounds p, 0,  
1" not be uniqued.

The impact of this is somewhat reduced by libanalysis and vmcore  
trying to infer inbounds etc.  Instead of putting inbounds on the  
constantexpr, why not make that "inference" be a predicate that any  
client could ask of the constantexpr?

-Chris



More information about the llvm-dev mailing list