[LLVMdev] [RFC] Removing FCA constants from the IR

Philip Reames listmail at philipreames.com
Mon Feb 3 09:37:37 PST 2014


On 2/3/14 1:24 AM, Chandler Carruth wrote:
> Currently, you're allowed to form a constant of aggregate type using 
> any number of other constants you like. This makes scanning the 
> instructions of the IR needlessly complex when looking for references 
> to constants.
>
> There is no need to support this degree of complexity in the IR. We 
> could require that for anything but 'zeroinitializer' you cannot write 
> a constant of aggregate (structure or array) type. You have to build 
> it using insertvalue.
>
> Thoughts? This would simplify several things I'm working on currently, 
> and it is a super easy auto-upgrade and verifier addition.
>
> -Chandler
What effect does this have on the readability of the IR?

Asking to make sure the point is considered, not because I neccessarily 
oppose your suggested change.  My main concern would have been for 
global variable initializers, but it sounds like you've revised your 
proposal to exclude those.

Philip



More information about the llvm-dev mailing list