[llvm-commits] [llvm] r146750 - in /llvm/trunk: lib/Target/Hexagon/HexagonTargetMachine.cpp lib/Target/Hexagon/HexagonTargetMachine.h test/CodeGen/Hexagon/args.ll test/CodeGen/Hexagon/combine.ll test/CodeGen/Hexagon/double.ll test/CodeGen/Hexagon/float.ll test/CodeGen/Hexagon/frame.ll test/CodeGen/Hexagon/mpy.ll test/CodeGen/Hexagon/static.ll test/CodeGen/Hexagon/struct_args.ll test/CodeGen/Hexagon/struct_args_large.ll test/CodeGen/Hexagon/vaddh.ll

Benjamin Kramer benny.kra at googlemail.com
Fri Dec 16 12:07:55 PST 2011


On 16.12.2011, at 20:18, Jakob Stoklund Olesen wrote:

> 
> On Dec 16, 2011, at 11:09 AM, Benjamin Kramer wrote:
> 
>> Author: d0k
>> Date: Fri Dec 16 13:08:59 2011
>> New Revision: 146750
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=146750&view=rev
>> Log:
>> Hexagon: Fix a nasty order-of-initialization bug.
> 
> Nice!
> 
>> --- llvm/trunk/lib/Target/Hexagon/HexagonTargetMachine.cpp (original)
>> +++ llvm/trunk/lib/Target/Hexagon/HexagonTargetMachine.cpp Fri Dec 16 13:08:59 2011
>> @@ -56,7 +56,7 @@
>>                                           CodeGenOpt::Level OL)
>>  : LLVMTargetMachine(T, TT, CPU, FS, Options, RM, CM, OL),
>>    DataLayout("e-p:32:32:32-i64:64:64-i32:32:32-i16:16:16-i1:32:32-a0:0") ,
>> -    Subtarget(TT, CPU, FS), TLInfo(*this), InstrInfo(Subtarget),
>> +    Subtarget(TT, CPU, FS), InstrInfo(Subtarget), TLInfo(*this),
>>    TSInfo(*this),
>>    FrameLowering(Subtarget),
>>    InstrItins(&Subtarget.getInstrItineraryData()) {
> 
> Is it actually legal for the TargetLowering sub-class to refer to a partially constructed TargetMachine object as it is doing here?

I think it's safe (it can't call a virtual method on it of course). I'm not a language lawyer though.

 - Ben





More information about the llvm-commits mailing list