Changes

Summary

  1. Add O3 flag to VLS and VLA configs (details)
Commit 3ddb899dea13cab48f1c79587f9eb5ec836b5459 by matthew.devereau
Add O3 flag to VLS and VLA configs

A missing O3 flag in the VLS and VLA buildbots was resulting
in some false positives slipping through. e.g., CLAMR fails when
running LNT with O3 but passes without it.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [Clang] Fix long double availability check (details)
  2. Revert "[examples] Fix SectionMemoryManager deconstruction error with MSVC." (details)
  3. [Test] One more missing opportunity on IndVars check removal (details)
  4. Revert "[PowerPC][ELF] make sure local variable space does not overlap with parameter save area" (details)
  5. [DSE] Add test cases with stores to objects before they escape. (details)
  6. [Test] Add simple test where IndVars fails to remove checks on negative values (details)
  7. [OpenCL] Supports optional pipe types in C++ for OpenCL 2021 (details)
  8. GlobalISel/Utils: Refactor integer/float constant match functions (details)
  9. [SystemZ]  Recognize .machine directive in parser. (details)
Commit 0195f8621f1814967f9cd3ef51ee61117e914299 by qiucofan
[Clang] Fix long double availability check

fae0dfa changed code to check 128-bit float availability, since it
introduced a new 128-bit double type on PowerPC. However, there're other
long float types besides IEEE float128 and PPC double-double requiring
this feature.

Reviewed By: ronlieb

Differential Revision: https://reviews.llvm.org/D109943
The file was modifiedclang/lib/Sema/Sema.cpp
The file was addedclang/test/OpenMP/amdgcn_ldbl_check.cpp
Commit 7e8babeb9d55749e3c9cae8802a644c5c96b1942 by Lang Hames
Revert "[examples] Fix SectionMemoryManager deconstruction error with MSVC."

This reverts commit 63838d88145feaeb839efff8f40ab1e98597e423, which broke tests
on some bots. See e.g. https://lab.llvm.org/buildbot#builders/109/builds/22561
The file was modifiedllvm/lib/ExecutionEngine/SectionMemoryManager.cpp
Commit 74fa174f339ce378c44010c579634ddefb35ff29 by mkazantsev
[Test] One more missing opportunity on IndVars check removal
The file was modifiedllvm/test/Transforms/IndVarSimplify/outer_phi.ll
Commit 80584f00564630a9edf51f74049b4eeaff4549b1 by czhengsz
Revert "[PowerPC][ELF] make sure local variable space does not overlap with parameter save area"

This causes mix-compile issues on PowerPC Linux.

This reverts commit 324bd467a217d89b5ab84a8ed66c0d3dc431782a.
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/byval.ll
Commit bdafe3124c9ac7276df6092e041d4b328684c680 by flo
[DSE] Add test cases with stores to objects before they escape.

Test cases where stores to local objects can be removed because the
object does not escape before calls that may read/write to memory.

Includes test from PR50220.
The file was addedllvm/test/Transforms/DeadStoreElimination/captures-before-call.ll
Commit 690f76958a737ebd1b17f9bc50f781b3aaa4f011 by mkazantsev
[Test] Add simple test where IndVars fails to remove checks on negative values
The file was addedllvm/test/Transforms/IndVarSimplify/negative_ranges.ll
Commit 37cdc7ebd9a373100cbbe39f5b9be7a4e4f7813d by Justas.Janickas
[OpenCL] Supports optional pipe types in C++ for OpenCL 2021

Adds support for a feature macro `__opencl_c_pipes` in C++ for
OpenCL 2021 enabling a respective optional core feature from
OpenCL 3.0.

This change aims to achieve compatibility between C++ for OpenCL
2021 and OpenCL 3.0.

Differential Revision: https://reviews.llvm.org/D109306
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
The file was modifiedclang/test/CodeGenOpenCL/address-spaces-mangling.cl
The file was modifiedclang/test/CodeGenOpenCL/pipe_types.cl
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
The file was modifiedclang/test/CodeGenOpenCL/pipe_types_mangling.cl
The file was modifiedclang/test/CodeGenOpenCL/address-spaces.cl
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl1.2.cl
Commit d477a7c2e704f58be816159cd8ac11d5384334b5 by petar.avramovic
GlobalISel/Utils: Refactor integer/float constant match functions

Rework getConstantstVRegValWithLookThrough in order to make it clear if we
are matching integer/float constant only or any constant(default).
Add helper functions that get DefVReg and APInt/APFloat from constant instr
getIConstantVRegValWithLookThrough: integer constant, only G_CONSTANT
getFConstantVRegValWithLookThrough: float constant, only G_FCONSTANT
getAnyConstantVRegValWithLookThrough: either G_CONSTANT or G_FCONSTANT

Rename getConstantVRegVal and getConstantVRegSExtVal to getIConstantVRegVal
and getIConstantVRegSExtVal. These now only match G_CONSTANT as described
in comment.

Relevant matchers now return both DefVReg and APInt/APFloat.

Replace existing uses of getConstantstVRegValWithLookThrough and
getConstantVRegVal with new helper functions. Any constant match is
only required in:
ConstantFoldBinOp: for constant argument that was bit-cast of float to int
getAArch64VectorSplat: AArch64::G_DUP operands can be any constant
amdgpu select for G_BUILD_VECTOR_TRUNC: operands can be any constant

In other places use integer only constant match.

Differential Revision: https://reviews.llvm.org/D104409
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64GlobalISelUtils.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/lib/Target/X86/X86InstructionSelector.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
Commit 1a5ab3e97c15708a0a9a19b3b0ccee73b0d757aa by paulsson
[SystemZ]  Recognize .machine directive in parser.

The .machine directive can be used in assembly files to specify the ISA for
the instructions following it.

Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D109660
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
The file was addedllvm/test/MC/SystemZ/machine-directive.s
The file was addedllvm/lib/Target/SystemZ/SystemZTargetStreamer.h
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp

Summary

  1. [test-suite] Add tests for FP classification intrinsics (details)
Commit b983131b7e46d34f0eb2be399baf6c2e48d5734c by sepavloff
[test-suite] Add tests for FP classification intrinsics

Differential Revision: https://reviews.llvm.org/D106804
The file was addedSingleSource/UnitTests/Float/fformat.h
The file was addedSingleSource/UnitTests/Float/classify.c
The file was addedSingleSource/UnitTests/Float/classify-f64.h
The file was addedSingleSource/UnitTests/Float/check-helper.h
The file was addedSingleSource/UnitTests/Float/classify-f32.h
The file was addedSingleSource/UnitTests/Float/Makefile
The file was addedSingleSource/UnitTests/Float/classify.reference_output
The file was modifiedSingleSource/UnitTests/CMakeLists.txt (diff)
The file was addedSingleSource/UnitTests/Float/CMakeLists.txt
The file was addedSingleSource/UnitTests/Float/classify-ldouble.h