[LLVMdev] GenericValue changes from 1.8 to 2.0

Sarah Thompson thompson at email.arc.nasa.gov
Tue Jul 17 10:05:41 PDT 2007


Hi all,

I've been quiet for a while, but I'm liable to be less so now that I'm 
starting on porting our model checker from LLVM 1.8 to 2.0. One thing 
that is puzzling me somewhat are the changes made to the GenericValue 
union, which is now a struct. I haven't found any mention of this on the 
llvm site or in the archives, so it may be that I am the only one who 
cares about it (I think it only really appears in the non-jitted 
interpreter code, which was the basis of the inner loop of our model 
checker).

I took advantage of the old GenericValue fitting into a 64-bit word, 
since it was fairly obviously intended to be exactly that, with the 
union serving to provide convenient access to various ways that it might 
be formatted. The new GenericValue seems to have morphed into a struct, 
and looks like it's probably not intended to work in the same way as the 
old GenericValue class.

Before I weigh in and start ripping my code to pieces, I thought it 
might be a good idea to post here first.

Any light that can be shed on this would be gratefully appreciated.

Best regards,
Sarah Thompson,
RSE Group, NASA Ames Research Center



More information about the llvm-dev mailing list