[LLVMdev] LLVM IR Type System Rewrite

Andrew Clinton andrew at sidefx.com
Mon Feb 28 09:47:58 PST 2011


This looks like a good extension to the type system.  One thing that I 
expected to work (when I first tried using opaque types) was for the 
optimization passes and verification to operate correctly when using 
opaque types, while the type could be made concrete later on -  after 
optimization.  This turned out to be impossible, and in combination with 
the lack of naming for opaque types, I decided to avoid their use 
entirely.  In particular, could you address whether this overhaul of the 
type system will address the following:

- The ability to create constants for named types without a defined 
structure
- Optimization involving PHI nodes for named types without a defined 
structure
- The ability to pass in named types to external function call arguments 
and return values

Basically, I'd like to be able to construct valid programs involving 
named types (without a defined structure), optimize/verify them, and 
then provide a structure for the type later on.

Andrew

On 02/26/2011 04:25 PM, Chris Lattner wrote:
> Several people have been proding me to write up my thoughts on how to fix the IR  type system for LLVM 3.0.  Here are some (fairly stream of conscious) thoughts on the matter:
> http://nondot.org/sabre/LLVMNotes/TypeSystemRewrite.txt
>
> Comments welcome!
>
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list