Only global or readonly segment variables should appear in object files.
Details
Details
Diff Detail
Diff Detail
Event Timeline
lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp | ||
---|---|---|
129 | I think you can get the Triple from the TargetMachine and don't have to construct one here |
Comment Actions
I'm not yet sure how, but it seems that this change broke a build:
29897==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x4396b49 in llvm::raw_ostream::operator<<(unsigned long) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Support/raw_ostream.cpp:110:7 #1 0xe2f586 in llvm::AMDGPUTargetAsmStreamer::EmitAMDKernelCodeT(amd_kernel_code_s const&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp:187:40 #2 0xbbedbb in llvm::AMDGPUAsmPrinter::EmitAmdKernelCodeT(llvm::MachineFunction const&, llvm::AMDGPUAsmPrinter::SIProgramInfo const&) const /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:596:3 #3 0xbbca50 in llvm::AMDGPUAsmPrinter::EmitFunctionBodyStart() /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:99:5 #4 0x29bf8fb in llvm::AsmPrinter::EmitFunctionBody() /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:875:3 #5 0xbc0400 in llvm::AMDGPUAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:167:3 #6 0x2db7343 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/CodeGen/MachineFunctionPass.cpp:43:10 #7 0x36c4bff in llvm::FPPassManager::runOnFunction(llvm::Function&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1521:23 #8 0x36c5297 in llvm::FPPassManager::runOnModule(llvm::Module&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1542:16 #9 0x36c65d8 in runOnModule /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1598:23 #10 0x36c65d8 in llvm::legacy::PassManagerImpl::run(llvm::Module&) /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/lib/IR/LegacyPassManager.cpp:1701 #11 0x6a09af in compileModule /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:381:5 #12 0x6a09af in main /mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm/tools/llc/llc.cpp:204 #13 0x7ffb1bd0aec4 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) #14 0x60dd83 in _start (/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc+0x60dd83)
I think you can get the Triple from the TargetMachine and don't have to construct one here