[llvm] r337021 - AMDGPU: Fix handling of alignment padding in DAG argument lowering

Evgenii Stepanov via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 13 18:28:01 PDT 2018


I'm not sure what KernelCode should initialized to, so reverted in r337079.


On Fri, Jul 13, 2018 at 6:18 PM, Evgenii Stepanov <eugeni.stepanov at gmail.com
> wrote:

>
>
> On Fri, Jul 13, 2018 at 5:39 PM, Evgenii Stepanov <
> eugeni.stepanov at gmail.com> wrote:
>
>> Hi,
>>
>> MSan is not happy about this change, but the report in unfortunately
>> truncated:
>> http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-
>> bootstrap-msan/builds/5926/steps/check-llvm%20msan/logs/stdio
>>
>>
>> Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AM
>>> DGPU/AMDGPUAsmPrinter.cpp?rev=337021&r1=337020&r2=337021&view=diff
>>> ============================================================
>>> ==================
>>> --- llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp (original)
>>> +++ llvm/trunk/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp Fri Jul 13
>>> 09:40:25 2018
>>> @@ -1128,6 +1128,13 @@ static amd_element_byte_size_t getElemen
>>>  void AMDGPUAsmPrinter::getAmdKernelCode(amd_kernel_code_t &Out,
>>>                                          const SIProgramInfo
>>> &CurrentProgramInfo,
>>>                                          const MachineFunction &MF)
>>> const {
>>> +  const Function &F = MF.getFunction();
>>> +
>>> +  // Avoid asserting on erroneous cases.
>>> +  if (F.getCallingConv() != CallingConv::AMDGPU_KERNEL &&
>>> +      F.getCallingConv() != CallingConv::SPIR_KERNEL)
>>> +    return;
>>> +
>>>
>>
> This function can return w/o initializing the &Out argument.
>
> WARNING: MemorySanitizer: use-of-uninitialized-value
>     #0 0x1415cd65 in void write_signed<long>(llvm::raw_ostream&, long,
> unsigned long, llvm::IntegerStyle) /code/llvm-project/llvm/lib/
> Support/NativeFormatting.cpp:95:7
>     #1 0x1415c900 in llvm::write_integer(llvm::raw_ostream&, long,
> unsigned long, llvm::IntegerStyle) /code/llvm-project/llvm/lib/
> Support/NativeFormatting.cpp:121:3
>     #2 0x1472357f in llvm::raw_ostream::operator<<(long)
> /code/llvm-project/llvm/lib/Support/raw_ostream.cpp:117:3
>     #3 0x13bb9d4 in llvm::raw_ostream::operator<<(int)
> /code/llvm-project/llvm/include/llvm/Support/raw_ostream.h:210:18
>     #4 0x3c2bc18 in void printField<unsigned int, &(amd_kernel_code_s::amd_
> kernel_code_version_major)>(llvm::StringRef, amd_kernel_code_s const&,
> llvm::raw_ostream&) /code/llvm-project/llvm/lib/Target/AMDGPU/Utils/
> AMDKernelCodeTUtils.cpp:78:23
>     #5 0x3c250ba in llvm::printAmdKernelCodeField(amd_kernel_code_s
> const&, int, llvm::raw_ostream&) /code/llvm-project/llvm/lib/
> Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp:104:5
>     #6 0x3c27ca3 in llvm::dumpAmdKernelCode(amd_kernel_code_s const*,
> llvm::raw_ostream&, char const*) /code/llvm-project/llvm/lib/
> Target/AMDGPU/Utils/AMDKernelCodeTUtils.cpp:113:5
>     #7 0x3a46e6c in llvm::AMDGPUTargetAsmStreamer::EmitAMDKernelCodeT(amd_kernel_code_s
> const&) /code/llvm-project/llvm/lib/Target/AMDGPU/MCTargetDesc/
> AMDGPUTargetStreamer.cpp:161:3
>     #8 0xd371e4 in llvm::AMDGPUAsmPrinter::EmitFunctionBodyStart()
> /code/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:204:26
>
> [...]
>
> Uninitialized value was created by an allocation of 'KernelCode' in the
> stack frame of function '_ZN4llvm16AMDGPUAsmPrinter21Emi
> tFunctionBodyStartEv'
>     #0 0xd36650 in llvm::AMDGPUAsmPrinter::EmitFunctionBodyStart()
> /code/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp:192
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180713/6d5c5892/attachment.html>


More information about the llvm-commits mailing list