[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

Jakob Stoklund Olesen stoklund at 2pi.dk
Fri Dec 16 11:18:45 PST 2011


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?

/jakob




More information about the llvm-commits mailing list