[llvm-dev] [RFC] Clean up the way we store optional Function data
Vedant Kumar via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 12 10:06:38 PDT 2015
>> That's a neat idea. To summarize: make Function have 3 optional operands. (For context -- Function currently has 1 optional operand, and my proposal is to move to 0.)
>>
>> Could someone else chime in on what they'd like to see?
>
> Sanjoy's idea makes sense to me, but only if we never need to add
> prefix/prologue data after functions are created. Are there any places
> where we need/want to add them after the fact?
I think so. I see:
LinkModules.cpp: Dst.setPrefixData(MapValue(Src.getPrefixData(), ValueMap,
BitcodeReader.cpp: FunctionPrologueWorklist.back().first->setPrologueData(C);
InlineFunction.cpp: Caller->setPersonalityFn(CalledPersonality);
Some of these sites could be refactored so that the Functions are created with the prefix/prologue data they need. I don't think that's possible for personality functions (see my third example).
Would we inhibit any future patches which add prefix/prologue data to Functions on the fly by taking this approach?
vedant
More information about the llvm-dev
mailing list