Defining new type in LLVM

Hi everyone,

I just had a question -

Let’s say I need to do monomorphization for the corresponding function ( writing specific versions of a function with concrete type ) whenever I see a function call.

I wish to build an interpreter , and hence this will need to happen at runtime

( there will be an infinite loop in which the parser is called , each time it parses

a top level production in the grammar ).

My question is - Would it be advisable to build a new LLVM Type ( with semantics of something like a non-concrete type ) or just change my existing code ?

Thanks ,

Malhar