Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [LegalizeDAG][TargetLowering] Move vXi64/i64->vXf32/f32 uint_to_fp (details)
  2. [DebugInfo] Simplify the constructor of DWARFDebugAranges::Range. NFC. (details)
  3. [lldb] Fix asan failures in data-formatter-objc tests (details)
  4. [VE] i64 arguments, return values and constants (details)
  5. [HIP][AMDGPU] expand printf when compiling HIP to AMDGPU (details)
  6. [gn build] Port ed181efa175 (details)
  7. [LV] Make X86/assume.ll X86 independent (NFC). (details)
  8. [LV] Allow assume calls in predicated blocks. (details)
  9. clang-format: [JS] tests for async wrapping. (details)
Commit 5cf1b01a01179e3ede446ae6064c6f3bece46987 by craig.topper
[LegalizeDAG][TargetLowering] Move vXi64/i64->vXf32/f32 uint_to_fp
legalizing code from TargetLowering::expandUINT_TO_FP back to
This was moved in October 2018, but we don't appear to be using this for
vectors on any in tree target.
Moving it back simplifies D72794 so we can share the code for i32->f32.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Commit afb22d7c33a246967d5f21d5ab3c83c148178564 by ikudrin
[DebugInfo] Simplify the constructor of DWARFDebugAranges::Range. NFC.
This removes the default values of the arguments. The only caller,
DWARFDebugAranges::construct(), provides all three parameters.
Differential Revision:
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugAranges.h
Commit 4f244bba4f66b14382c446b62e122fa684b8db78 by Raphael Isemann
[lldb] Fix asan failures in data-formatter-objc tests
The test is currently failing on some systems with ASAN enabled due to:
==22898==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x603000003da4 at pc 0x00010951c33d bp 0x7ffee6709e00 sp 0x7ffee67095c0
READ of size 5 at 0x603000003da4 thread T0
   #0 0x10951c33c in wrap_memmove+0x16c
   #1 0x7fff4a327f57 in CFDataReplaceBytes+0x1ba
   #2 0x7fff4a415a44 in __CFDataInit+0x2db
   #3 0x1094f8490 in main main.m:424
   #4 0x7fff77482084 in start+0x0 (libdyld.dylib:x86_64+0x17084)
0x603000003da4 is located 0 bytes to the right of 20-byte region
[0x603000003d90,0x603000003da4) allocated by thread T0 here:
   #0 0x109547c02 in wrap_calloc+0xa2
   #1 0x7fff763ad3ef in class_createInstance+0x52
   #2 0x7fff4c6b2d73 in NSAllocateObject+0x12 (Foundation:x86_64+0x1d73)
   #3 0x7fff4c6b5e5f in -[_NSPlaceholderData
initWithBytes:length:copy:deallocator:]+0x40 (Foundation:x86_64+0x4e5f)
   #4 0x7fff4c6d4cf1 in -[NSData(NSData) initWithBytes:length:]+0x24
   #5 0x1094f8245 in main main.m:404
   #6 0x7fff77482084 in start+0x0 (libdyld.dylib:x86_64+0x17084)
The reason is that we create a string "HELLO" but get the size wrong
(it's 5 bytes instead of 4). Later on we read the buffer and pretend it
is 5 bytes long, causing an OOB read which ASAN detects.
In general this test probably needs some cleanup as it produces on macOS
10.15 around 100 compiler warnings which isn't great, but let's first
get the bot green.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/main.m
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/
Commit 773ae62ff85d435d48240e8fb5267db32edaf7a1 by simon.moll
[VE] i64 arguments, return values and constants
Summary: Support for i64 arguments (in register), return values and
constants along with tests.
Reviewed By: arsenm
Differential Revision:
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.h
The file was modifiedllvm/lib/Target/VE/VE.h
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was addedllvm/test/CodeGen/VE/constants_i64.ll
The file was modifiedllvm/lib/Target/VE/
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/test/CodeGen/VE/simple_prologue_epilogue.ll
The file was modifiedllvm/lib/Target/VE/InstPrinter/VEInstPrinter.cpp
The file was modifiedllvm/lib/Target/VE/
The file was modifiedllvm/lib/Target/VE/VEFrameLowering.cpp
Commit ed181efa175d3e0acc134e6cd161914e64c7195e by sameer.sahasrabuddhe
[HIP][AMDGPU] expand printf when compiling HIP to AMDGPU
Summary: This change implements the expansion in two parts:
- Add a utility function emitAMDGPUPrintfCall() in LLVM.
- Invoke the above function from Clang CodeGen, when processing a HIP
program for the AMDGPU target.
The printf expansion has undefined behaviour if the format string is not
a compile-time constant. As a sufficient condition, the HIP ToolChain
now emits -Werror=format-nonliteral.
Reviewed By: arsenm
Differential Revision:
The file was modifiedclang/lib/CodeGen/CGGPUBuiltin.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was addedllvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was addedclang/test/CodeGenHIP/printf.cpp
The file was addedllvm/include/llvm/Transforms/Utils/AMDGPUEmitPrintf.h
The file was addedclang/test/CodeGenHIP/printf-aggregate.cpp
The file was addedclang/test/Driver/hip-printf.hip
The file was modifiedllvm/lib/Transforms/Utils/CMakeLists.txt
Commit f8269bb0726ed6a95401825a8b494ecbcdbd5785 by llvmgnsyncbot
[gn build] Port ed181efa175
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Utils/
Commit 59ac44b3c129070c3c8b35471a24d94360a0a2a9 by flo
[LV] Make X86/assume.ll X86 independent (NFC).
The test does not check anything X86 specific. This is a preparation for
the D68814.
The file was removedllvm/test/Transforms/LoopVectorize/X86/assume.ll
The file was addedllvm/test/Transforms/LoopVectorize/assume.ll
Commit 23c113802e21253332dc41fba6639106b7b1e461 by flo
[LV] Allow assume calls in predicated blocks.
The assume intrinsic is intentionally marked as may reading/writing
memory, to avoid passes moving them around. When flattening the CFG for
predicated blocks, we have to drop the assume calls, as they are
control-flow dependent.
There are some cases where we can do better (when control flow is
preserved), but that is follow-up work.
Fixes PR43620.
Reviewers: hsaito, rengolin, dcaballe, Ayal
Reviewed By: Ayal
Differential Revision:
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
The file was modifiedllvm/test/Transforms/LoopVectorize/assume.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 736a3802124b57490fa1e67538415a2a77fa731c by martin
clang-format: [JS] tests for async wrapping.
Summary: Adds tests to ensure that `async method() ...` does not wrap
between async and the method name, which would cause automatic semicolon
Reviewers: krasimir
Subscribers: cfe-commits
Tags: #clang
Differential Revision:
The file was modifiedclang/unittests/Format/FormatTestJS.cpp