SuccessChanges

Summary

  1. [test][Inliner] Make always-inline.ll work with NPM (details)
  2. [gn build] Manually port c9455d3 (details)
  3. [gn build] Port 7ed8124d46f (details)
  4. [HeapProf] Fix bot failures from instrumentation pass (details)
  5. Reapply D70800: Fix AArch64 AAPCS frame record chain (details)
  6. [X86] Don't call hasFnAttribute and getFnAttribute for 'prefer-vector-width' and 'min-legal-vector-width' in getSubtargetImpl (details)
  7. [ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics (details)
  8. GlobalISel: Remove leftover lit.local.cfg (details)
  9. [ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics (details)
  10. GlobalISel: Implement known bits for G_MERGE_VALUES (details)
  11. GlobalISel: Use & operator on KnownBits (details)
  12. [SVE] Remove calls to VectorType::getNumElements from IR (details)
  13. [libc++][NFC] Define functor's call operator inline (details)
  14. [lld-macho] Disable invalid/stub-link.s test for Mac (details)
  15. [OpenMP][MLIR] Conversion pattern for OpenMP to LLVM (details)
  16. [OpenMP] Ensure testing for versions 4.5 and default - Part 2 (details)
  17. [SVE] Remove calls to VectorType::getNumElements from Transforms/Vectorize (details)
  18. [MLIR] Fixed missing constraint append when adding an AffineIfOp domain (details)
  19. [Attributor] Guarantee getAAFor not to update AA in the manifestation stage (details)
  20. [libcxx] Fix the broken test after D82657. (details)
  21. Recommit "[libFuzzer] Fix value-profile-load test." (details)
  22. [analyzer] NFC: Store the pointee/referenced type for dynamic type tracking. (details)
  23. [analyzer] pr47037: CastValueChecker: Support for the new variadic isa<>. (details)
  24. [analyzer] Fix the debug print about debug egraph dumps requiring asserts. (details)
  25. [analyzer] NFC: Fix wrong parameter name in printFormattedEntry. (details)
  26. [SVE] Remove bad call to VectorType::getNumElements() from HeapProfiler (details)
  27. [InstSimplify] SimplifyPHINode(): check that instruction is in basic block first (details)
  28. [OpenMP] Ensure testing for versions 4.5 and default - Part 3 (details)
  29. [CodeGen] Use an AttrBuilder to bulk remove 'target-cpu', 'target-features', and 'tune-cpu' before re-adding in CodeGenModule::setNonAliasAttributes. (details)
  30. [Attributor] Do not add AA to dependency graph after the update stage (details)
  31. [RegisterScavenging] Delete dead function unprocess(). (details)
  32. [Hexagon] Emit better 32-bit multiplication sequence for HVXv62+ (details)
  33. GlobalISel: Add and_trivial_mask to all_combines (details)
  34. AMDGPU: Use caller subtarget, not intrinsic declaration (details)
  35. [NFC][ValueTracking] Add OffsetZero into findAllocaForValue (details)
  36. [StackSafety] Ignore allocas with partial lifetime markers (details)
  37. MIR: Infer not-SSA for subregister defs (details)
  38. AArch64/GlobalISel: Fix missing function begin marker in test (details)
  39. GlobalISel: Implement known bits for min/max (details)
  40. [OpenMP] Fix a failing test after D85214 (details)
  41. [Attributor] Do not manifest noundef for dead positions (details)
  42. [Driver][XRay][test] Update the macOS support check (details)
  43. [OPENMP]Do not crash for globals in inner regions with outer target (details)
  44. [SSP] Restore setting the visibility of __guard_local to hidden for better code generation. (details)
  45. Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute" (details)
  46. [ValueTracking] Replace recursion with Worklist (details)
  47. Recommit "[libFuzzer] Fix arguments of InsertPartOf/CopyPartOf calls in CrossOver mutator." (details)
  48. Revert "GlobalISel: Use & operator on KnownBits" (details)
  49. Correctly revert "GlobalISel: Use & operator on KnownBits" (details)
  50. AMDGPU: Fix broken switch braces (details)
  51. AMDGPU/GlobalISel: Implement computeKnownBits for groupstaticsize (details)
  52. GlobalISel: Implement computeNumSignBits for G_SEXT_INREG (details)
  53. [clang-query][NFC] Silence a few lint warnings (details)
  54. [lldb] Fix "no matching std::pair constructor" on Ubuntu 16.04 (NFC) (details)
Commit 8bdb98c781217e318f86c568139bf0b427eab7aa by aeubanks
[test][Inliner] Make always-inline.ll work with NPM

The NPM doesn't support call-site alwaysinline as described in the comments.

Also make NPM runs more similar to legacy PM runs.

Reviewed By: ychen, asbirlea

Differential Revision: https://reviews.llvm.org/D86663
The file was modifiedllvm/test/Transforms/Inline/always-inline.ll
Commit 897839425bdb3564aec1a03ee9d2acad608ba265 by aeubanks
[gn build] Manually port c9455d3
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn
Commit b3efa65363ba9a3380b68a9a3bd4767a762b8715 by llvmgnsyncbot
[gn build] Port 7ed8124d46f
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
Commit 5b9d462b7d3c41a605534a1d95ae0b8d97a661d0 by tejohnson
[HeapProf] Fix bot failures from instrumentation pass

Fix bot failure from 7ed8124d46f94601d5f1364becee9cee8538265e:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-ubuntu/builds/8533

Since we are always using dynamic shadow,
insertDynamicShadowAtFunctionEntry should always return true for
modifying the function.
The file was modifiedllvm/lib/Transforms/Instrumentation/HeapProfiler.cpp
Commit e9d9a612084b47fc4277523561d61e675370c854 by resistor
Reapply D70800: Fix AArch64 AAPCS frame record chain

Original Commit Message:
After the commit r368987 (rG643adb55769e) was landed, the frame record (FP and LR register)
may be placed in the middle of a stack frame if a function has both callee-saved
general-purpose registers and floating point registers. This will break the stack unwinders
that simply walk through the frame records (based on the guarantee from AAPCS64
"The Frame Pointer" section). This commit fixes the problem by adding the frame record offset.

Patch By: logan
Differential Revision: D70800
The file was addedllvm/test/CodeGen/AArch64/framelayout-frame-record.mir
The file was addedllvm/test/CodeGen/AArch64/framelayout-unaligned-fp.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/framelayout-fp-csr.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
Commit ba852e1e19ab8605ed199ea125e11ed80ae15386 by craig.topper
[X86] Don't call hasFnAttribute and getFnAttribute for 'prefer-vector-width' and 'min-legal-vector-width' in getSubtargetImpl

We only need to call getFnAttribute and then check if the Attribute
is None or not.
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
Commit ae1396c7d4d83366695137f69f046719fd199408 by mikhail.maltsev
[ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics

This patch adjusts the following ARM/AArch64 LLVM IR intrinsics:
- neon_bfmmla
- neon_bfmlalb
- neon_bfmlalt
so that they take and return bf16 and float types. Previously these
intrinsics used <8 x i8> and <4 x i8> vectors (a rudiment from
implementation lacking bf16 IR type).

The neon_vbfdot[q] intrinsics are adjusted similarly. This change
required some additional selection patterns for vbfdot itself and
also for vector shuffles (in a previous patch) because of SelectionDAG
transformations kicking in and mangling the original code.

This patch makes the generated IR cleaner (less useless bitcasts are
produced), but it does not affect the final assembly.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D86146
The file was addedllvm/test/Bitcode/aarch64-bf16-upgrade.ll.bc
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-bf16-dotprod-intrinsics.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was addedllvm/test/Bitcode/aarch64-bf16-upgrade.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedclang/test/CodeGen/aarch64-bf16-dotprod-intrinsics.c
The file was modifiedllvm/lib/Target/ARM/ARMInstrNEON.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was addedllvm/test/Bitcode/arm-bf16-upgrade.ll
The file was modifiedllvm/test/CodeGen/ARM/arm-bf16-dotprod-intrinsics.ll
The file was addedllvm/test/Bitcode/arm-bf16-upgrade.ll.bc
The file was modifiedclang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
Commit 9607ccf62617c9f025d182ddf137cf80e6d5c1f0 by Matthew.Arsenault
GlobalISel: Remove leftover lit.local.cfg

The global-isel feature has been required for a long time and was
removed in c9455d3c579292e7ae5b7559ad0302d459e69a95, so this was
causing all tests to be skipped.
The file was removedllvm/test/CodeGen/X86/GlobalISel/lit.local.cfg
The file was removedllvm/test/CodeGen/ARM/GlobalISel/lit.local.cfg
The file was removedllvm/test/CodeGen/AArch64/GlobalISel/lit.local.cfg
The file was removedllvm/test/CodeGen/AMDGPU/GlobalISel/lit.local.cfg
Commit 433f2680c9792b2748a69f6d70ad47d55d0efe56 by mikhail.maltsev
[ARM][BFloat16] Change types of some Arm and AArch64 bf16 intrinsics

Add bitcode files which got truncated to 0 length in phabricator.

Differential Revision: https://reviews.llvm.org/D86146
The file was modifiedllvm/test/Bitcode/aarch64-bf16-upgrade.ll.bc
The file was modifiedllvm/test/Bitcode/arm-bf16-upgrade.ll.bc
Commit 531f7063babc37c2bffcbbbe56219294ee407f5d by Matthew.Arsenault
GlobalISel: Implement known bits for G_MERGE_VALUES
The file was modifiedllvm/include/llvm/Support/KnownBits.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit e53b799779b079a70f600e5cad2ab7267d66b1b7 by Matthew.Arsenault
GlobalISel: Use & operator on KnownBits

Avoid repeating for zero and one
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit 5a55e2781ca9178900f875b86d8a1416e8001f73 by ctetreau
[SVE] Remove calls to VectorType::getNumElements from IR

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D81500
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/include/llvm/IR/MatrixBuilder.h
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/include/llvm/IR/Instructions.h
The file was modifiedllvm/include/llvm/IR/GetElementPtrTypeIterator.h
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/IR/Function.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/include/llvm/IR/Constant.h
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/lib/IR/Constants.cpp
Commit 21a1a263a6d9c0c44ef8eb0744786e2aa5d59e53 by Louis Dionne
[libc++][NFC] Define functor's call operator inline

This fixes a mismatched visibility attribute on the call operator in
addition to making the code clearer. Given this is a simple lambda
in essence, the intent has always been to give it inline visibility.
The file was modifiedlibcxx/include/__threading_support
Commit d2b845dd6c90508c6258b4023fdf9ab5519fee3f by jezng
[lld-macho] Disable invalid/stub-link.s test for Mac

It seems to be failing on some Google Buildbots.

This diff also includes a minor fix for the install name of one of
libSystem's re-exports. I don't think it's the cause of the test
failure, though. The wrong install name just meant that the symbol
lookup failure would still happen, but it would have been caused by the
re-export not being found, instead of the arch failing to match.

Differential Revision: https://reviews.llvm.org/D86728
The file was modifiedlld/test/MachO/invalid/stub-link.s
The file was modifiedlld/test/MachO/Inputs/iPhoneSimulator.sdk/usr/lib/libSystem.tbd
Commit 875074c8a93d71b3e246da4bae983ec7524f4f28 by kiran.chandramohan
[OpenMP][MLIR] Conversion pattern for OpenMP to LLVM

Adding a conversion pattern for the parallel Operation. This will
help the conversion of parallel operation with standard dialect to
parallel operation with llvm dialect. The type conversion of the block
arguments in a parallel region are controlled by the pattern for the
parallel Operation. Without this pattern, a parallel Operation with
block arguments cannot be converted from standard to LLVM dialect.
Other OpenMP operations without regions are marked as legal. When
translation of OpenMP operations with regions are added then patterns
for these operations can also be added.
Also uses all the standard to llvm patterns. Patterns of other dialects
can be added later if needed.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D86273
The file was addedmlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/include/mlir/Conversion/OpenMPToLLVM/ConvertOpenMPToLLVM.h
The file was addedmlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was addedmlir/lib/Conversion/OpenMPToLLVM/CMakeLists.txt
Commit a1bdf8f545cf3475673f2d1aa50d572b0a6a696d by Saiyedul.Islam
[OpenMP] Ensure testing for versions 4.5 and default - Part 2

Many OpenMP Clang tests do not RUN for version 4.5 and the default
version. This second patch in the series handles test cases which
require updation in CHECK lines along with adding RUN lines for
the default version. It involves updating line number of pragmas.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D85150
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_simd_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_if_messages.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp
Commit 5e63083435a96c92a25c4f6d088dd1776d59e8aa by ctetreau
[SVE] Remove calls to VectorType::getNumElements from Transforms/Vectorize

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D82056
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 28a7dfa33d979e5ff3ed2d975c71b08d611fe6b6 by uday
[MLIR] Fixed missing constraint append when adding an AffineIfOp domain

The prior diff that introduced `addAffineIfOpDomain` missed appending
constraints from the ifOp domain. This revision fixes this problem.

Differential Revision: https://reviews.llvm.org/D86421
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
Commit c5e6872ec6e5269a6d92098765eec266ed4ce4ae by okuraofvegetable
[Attributor] Guarantee getAAFor not to update AA in the manifestation stage

If we query an AA with `Attributor::getAAFor` in `AbstractAttribute::manifest`, the AA may be updated.
This patch makes use of the phase flag in Attributor, and handle `getAAFor` behavior according to the flag.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D86635
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 3f8a0ecdaa634e4ef9ec29665db7c82b874422b5 by hokein.wu
[libcxx] Fix the broken test after D82657.

Differential Revision: https://reviews.llvm.org/D86685
The file was modifiedlibcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/function_type_default_deleter.fail.cpp
Commit 52f1df09237312eac044f84ca4c4f9e49aea0b9b by dokyungs
Recommit "[libFuzzer] Fix value-profile-load test."

value-profile-load.test needs adjustment with a mutator change in
bb54bcf84970c04c9748004f3a4cf59b0c1832a7, which reverted as of now, but will be
recommitted after landing this patch.

This patch makes value-profile-load.test more friendly to (and aware of) the
current value profiling strategy, which is based on the hamming as well as the
absolute distance. To this end, this patch adjusts the set of input values that
trigger an expected crash. More specifically, this patch now uses a single value
0x01effffe as a crashing input, because this value is close to values like
{0x1ffffff, 0xffffff, ...}, which are very likely to be added to the corpus per
the current hamming- and absolute-distance-based value profiling strategy. Note
that previously the crashing input values were {1234567 * {1, 2, ...}, s.t. <
INT_MAX}.

Every byte in the chosen value 0x01effeef is intentionally different; this was
to make it harder to find the value without the intermediate inputs added to the
corpus by the value profiling strategy.

Also note that LoadTest.cpp now uses a narrower condition (Size != 8) for
initial pruning of inputs, effectively preventing libFuzzer from generating
inputs longer than necessary and spending time on mutating such long inputs in
the corpus - a functionality not meant to be tested by this specific test.

Differential Revision: https://reviews.llvm.org/D86247
The file was modifiedcompiler-rt/test/fuzzer/value-profile-load.test
The file was modifiedcompiler-rt/test/fuzzer/LoadTest.cpp
Commit 5a9e7789396e7618c1407aafc329e00584437a2f by Artem Dergachev
[analyzer] NFC: Store the pointee/referenced type for dynamic type tracking.

The successfulness of a dynamic cast depends only on the C++ class, not the pointer or reference. Thus if *A is a *B, then &A is a &B,
const *A is a const *B etc. This patch changes DynamicCastInfo to store
and check the cast between the unqualified pointed/referenced types.
It also removes e.g. SubstTemplateTypeParmType from both the pointer
and the pointed type.

Differential Revision: https://reviews.llvm.org/D85752
The file was modifiedclang/test/Analysis/cast-value-state-dump.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/DynamicType.cpp
Commit 4448affede5100658530aea8793ae7a7bc05a110 by Artem Dergachev
[analyzer] pr47037: CastValueChecker: Support for the new variadic isa<>.

llvm::isa<>() and llvm::isa_and_not_null<>() template functions recently became
variadic. Unfortunately this causes crashes in case of isa_and_not_null<>()
and incorrect behavior in isa<>(). This patch fixes this issue.

Differential Revision: https://reviews.llvm.org/D85728
The file was modifiedclang/test/Analysis/cast-value-notes.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
The file was modifiedclang/test/Analysis/Inputs/llvm.h
The file was modifiedclang/test/Analysis/cast-value-logic.cpp
Commit 37c21dbb3a3209c31f22070c58f22c77357fa777 by Artem Dergachev
[analyzer] Fix the debug print about debug egraph dumps requiring asserts.

There's no need to remind people about that when clang *is* built with asserts.

Differential Revision: https://reviews.llvm.org/D86334
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Commit 6e26e49edf0d509fb3e76d984f2cbc8288fd6dc5 by Artem Dergachev
[analyzer] NFC: Fix wrong parameter name in printFormattedEntry.

Parameters were in a different order in the header and in the implementation.

Fix surrounding comments a bit.

Differential Revision: https://reviews.llvm.org/D86691
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
The file was modifiedclang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
Commit 035833ae42aa6c597f28b6e0e1118508e26f175c by ctetreau
[SVE] Remove bad call to VectorType::getNumElements() from HeapProfiler

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D86727
The file was modifiedllvm/lib/Transforms/Instrumentation/HeapProfiler.cpp
Commit b85f91fdced8e94c43f3350152bcb2ccfa71ef14 by lebedev.ri
[InstSimplify] SimplifyPHINode(): check that instruction is in basic block first

As pointed out in post-commit review, this can legally be called
on instructions that are not inserted into basic blocks,
so don't blindly assume that there is basic block.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit ff260ad0e014516fbebb4b9f7bcd5e085ac37661 by Saiyedul.Islam
[OpenMP] Ensure testing for versions 4.5 and default - Part 3

This third patch in the series removes version 5.0 string from
test cases making them check for default version. It also add test
cases for version 4.5.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D85214
The file was modifiedclang/test/OpenMP/parallel_for_ast_print.cpp
The file was modifiedclang/test/OpenMP/parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/for_ast_print.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_loop_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_ast_print.cpp
The file was modifiedclang/test/OpenMP/atomic_read_codegen.c
The file was modifiedclang/test/OpenMP/master_taskloop_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/depobj_codegen.cpp
The file was modifiedclang/test/OpenMP/for_loop_messages.cpp
The file was modifiedclang/test/OpenMP/for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/declare_variant_mixed_codegen.c
The file was modifiedclang/test/OpenMP/for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/for_codegen.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/parallel_master_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_if_messages.cpp
The file was modifiedclang/test/OpenMP/for_scan_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/atomic_ast_print.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/declare_variant_device_kind_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_declare_variant_name_mangling.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/for_lastprivate_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/atomic_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_ast_print.cpp
The file was modifiedclang/test/OpenMP/depobj_ast_print.cpp
The file was modifiedclang/test/OpenMP/declare_target_messages.cpp
The file was modifiedclang/test/OpenMP/for_collapse_messages.cpp
The file was modifiedclang/test/OpenMP/declare_variant_mixed_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_asm_delayed_diags.c
The file was modifiedclang/test/OpenMP/distribute_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_codegen.cpp
The file was modifiedclang/test/OpenMP/for_simd_if_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/atomic_capture_codegen.cpp
The file was modifiedclang/test/OpenMP/flush_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_ast_print.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/nvptx_declare_variant_implementation_vendor_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/atomic_write_codegen.c
The file was modifiedclang/test/OpenMP/flush_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_target_ast_print.cpp
The file was modifiedclang/test/OpenMP/depobj_messages.cpp
The file was modifiedclang/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp
The file was modifiedclang/test/OpenMP/for_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/parallel_for_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_lastprivate_conditional.cpp
The file was modifiedclang/test/OpenMP/for_misc_messages.c
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/atomic_update_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_variant_device_isa_codegen_1.c
The file was modifiedclang/test/OpenMP/parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_ast_print.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_ast_print.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_scan_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_loop_messages.cpp
The file was modifiedclang/test/OpenMP/for_simd_scan_codegen.cpp
The file was modifiedclang/test/OpenMP/nesting_of_regions.cpp
The file was modifiedclang/test/OpenMP/for_simd_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_default_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/parallel_for_loop_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_target_codegen.cpp
The file was modifiedclang/test/OpenMP/for_reduction_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/for_schedule_messages.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_scan_codegen.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_lastprivate_messages.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp
The file was modifiedclang/test/OpenMP/deferred-diags.cpp
The file was modifiedclang/test/OpenMP/atomic_messages.c
The file was modifiedclang/test/OpenMP/master_taskloop_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/master_taskloop_simd_codegen.cpp
Commit 17ceda99d32035dc654b45ef7af62c571d8a8273 by craig.topper
[CodeGen] Use an AttrBuilder to bulk remove 'target-cpu', 'target-features', and 'tune-cpu' before re-adding in CodeGenModule::setNonAliasAttributes.

I think the removeAttributes interface should be faster than
calling removeAttribute 3 times.
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit 58d257b2904bc637dcf8f90381298eb2661d9d95 by okuraofvegetable
[Attributor] Do not add AA to dependency graph after the update stage

If an AA is registered to the dependency graph in the manifest stage, Attributor aborts in `::manifestAttributes()`.
This patch prevents such termination.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D86734
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 8d21985a752416823a803d74f9265c4e148003a0 by efriedma
[RegisterScavenging] Delete dead function unprocess().
The file was modifiedllvm/lib/CodeGen/RegisterScavenging.cpp
The file was modifiedllvm/include/llvm/CodeGen/RegisterScavenging.h
Commit 4ef9275b9b4875a131898ead943e17389e797b12 by kparzysz
[Hexagon] Emit better 32-bit multiplication sequence for HVXv62+
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was modifiedllvm/test/CodeGen/Hexagon/autohvx/arith.ll
Commit 201f770f16e8ea89e92a1edd79c41559f4031187 by Matthew.Arsenault
GlobalISel: Add and_trivial_mask to all_combines

Also make up a new category of combines.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ashr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/bswap.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/shl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/add.v2i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
Commit a1bc37c9e54e0163bc6ccb7a438a68047310ccff by Matthew.Arsenault
AMDGPU: Use caller subtarget, not intrinsic declaration

Intrinsic declarations use the default subtarget, but this should be
using the subtarget for the calling function. I haven't been able to
come up with a case where it matters though.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
Commit a6927c8621269a3c00c0ac83ec57b66f28c78863 by Vitaly Buka
[NFC][ValueTracking] Add OffsetZero into findAllocaForValue

For StackLifetime after finding alloca we need to check that
values ponting to the begining of alloca.

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D86692
The file was modifiedllvm/include/llvm/Analysis/ValueTracking.h
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit a40660551ea1ed01f69406d81e39efe73d86cbec by Vitaly Buka
[StackSafety] Ignore allocas with partial lifetime markers

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D86672
The file was modifiedllvm/lib/Analysis/StackLifetime.cpp
The file was modifiedllvm/test/Analysis/StackSafetyAnalysis/lifetime.ll
The file was modifiedllvm/test/Transforms/SafeStack/X86/layout-frag.ll
Commit ee679638d75ca9a7f7d7be728fa069606dcc8ec7 by Matthew.Arsenault
MIR: Infer not-SSA for subregister defs

It's possible to have a single virtual register def with a subreg
index that would pass the previous check, but it's not possible to
have a subregister def in SSA.

This is in preparation for adding stricter checks for SSA MIR.
The file was modifiedllvm/include/llvm/CodeGen/MachineRegisterInfo.h
The file was addedllvm/test/CodeGen/MIR/AMDGPU/subreg-def-is-not-ssa.mir
The file was modifiedllvm/lib/CodeGen/MIRParser/MIRParser.cpp
Commit 0034e00da0e5448b03e15eee0279736dab29c944 by Matthew.Arsenault
AArch64/GlobalISel: Fix missing function begin marker in test
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-and-trivial-mask.mir
Commit abc99ab5725636c17fa9c9ced0269f92bf5398cb by Matthew.Arsenault
GlobalISel: Implement known bits for min/max
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
Commit a1ac047b3453f205eacc36adc787ac31b952a502 by Saiyedul.Islam
[OpenMP] Fix a failing test after D85214

Removed version 45 testing from a failing test for now.
The file was modifiedclang/test/OpenMP/declare_target_ast_print.cpp
Commit 50ebd1afa9d7271edae3b2faa607f400fe56c9e6 by okuraofvegetable
[Attributor] Do not manifest noundef for dead positions

Even if noundef is deduced for a position, we should not manifest it when the position is dead.
This is because the associated values with dead positions are replaced with undef values by AAIsDead.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D86565
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/misc_crash.ll
The file was modifiedllvm/test/Transforms/Attributor/ArgumentPromotion/inalloca.ll
The file was modifiedllvm/test/Transforms/Attributor/noundef.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
The file was modifiedllvm/test/Transforms/Attributor/IPConstantProp/thread_local_acs.ll
Commit d22985c410873872a96ad3f53170df57c62aac9e by Azharuddin Mohammed
[Driver][XRay][test] Update the macOS support check

For macOS, the code says, the XRay flag is only supported on x86_64.
Updating the test and making that check explicit.

Differential Revision: https://reviews.llvm.org/D85773
The file was modifiedclang/test/Driver/XRay/xray-instrument-os.c
Commit ba1de5f2f7b078f69d5f6b0fe3af4911f76bb8fd by a.bataev
[OPENMP]Do not crash for globals in inner regions with outer target
region.

If the global variable is used in the target region,it is always
captured, if not marked as declare target.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_codegen.cpp
Commit d870e363263835bec96c83f51b20e64722cad742 by brad
[SSP] Restore setting the visibility of __guard_local to hidden for better code generation.

Patch by: Philip Guenther
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
Commit 2e7041fdc223aae90eac294cda4fb3b0be8eeb34 by cullen.rhodes
Revert "[CodeGen][AArch64] Support arm_sve_vector_bits attribute"

Test CodeGen/attr-arm-sve-vector-bits-call.c is failing on some builders
[1][2]. Reverting whilst I investigate.

[1] http://lab.llvm.org:8011/builders/fuchsia-x86_64-linux/builds/10375
[2] https://luci-milo.appspot.com/p/fuchsia/builders/ci/clang-linux-x64/b8870800848452818112

This reverts commit 42587345a3afc52c03c6e6095db773358a1b03e9.
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was removedclang/test/CodeGen/attr-arm-sve-vector-bits-types.c
The file was removedclang/test/CodeGenCXX/aarch64-mangle-sve-fixed-vectors.cpp
The file was removedclang/test/CodeGen/attr-arm-sve-vector-bits-call.c
The file was removedclang/test/CodeGen/attr-arm-sve-vector-bits-globals.c
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was removedclang/test/CodeGen/attr-arm-sve-vector-bits-codegen.c
The file was removedclang/test/CodeGen/attr-arm-sve-vector-bits-bitcast.c
The file was removedclang/test/CodeGenCXX/aarch64-sve-fixedtypeinfo.cpp
The file was removedclang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
Commit 23524fdecef990dffc619d3463b1977cfb946136 by Vitaly Buka
[ValueTracking] Replace recursion with Worklist

Now findAllocaForValue can handle nontrivial phi cycles.
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/unittests/Analysis/ValueTrackingTest.cpp
Commit c10e63677f5d20f18010f8f68c631ddc97546f7d by dokyungs
Recommit "[libFuzzer] Fix arguments of InsertPartOf/CopyPartOf calls in CrossOver mutator."

The CrossOver mutator is meant to cross over two given buffers (referred to as
the first/second buffer henceforth). Previously InsertPartOf/CopyPartOf calls
used in the CrossOver mutator incorrectly inserted/copied part of the second
buffer into a "scratch buffer" (MutateInPlaceHere of the size
CurrentMaxMutationLen), rather than the first buffer. This is not intended
behavior, because the scratch buffer does not always (i) contain the content of
the first buffer, and (ii) have the same size as the first buffer;
CurrentMaxMutationLen is typically a lot larger than the size of the first
buffer. This patch fixes the issue by using the first buffer instead of the
scratch buffer in InsertPartOf/CopyPartOf calls.

A FuzzBench experiment was run to make sure that this change does not
inadvertently degrade the performance. The performance is largely the same; more
details can be found at:
https://storage.googleapis.com/fuzzer-test-suite-public/fixcrossover-report/index.html

This patch also adds two new tests, namely "cross_over_insert" and
"cross_over_copy", which specifically target InsertPartOf and CopyPartOf,
respectively.

- cross_over_insert.test checks if the fuzzer can use InsertPartOf to trigger
  the crash.

- cross_over_copy.test checks if the fuzzer can use CopyPartOf to trigger the
  crash.

These newly added tests were designed to pass with the current patch, but not
without the it (with 790878f291fa5dc58a1c560cb6cc76fd1bfd1c5a these tests do not
pass). To achieve this, -max_len was intentionally given a high value. Without
this patch, InsertPartOf/CopyPartOf will generate larger inputs, possibly with
unpredictable data in it, thereby failing to trigger the crash.

The test pass condition for these new tests is narrowed down by (i) limiting
mutation depth to 1 (i.e., a single CrossOver mutation should be able to trigger
the crash) and (ii) checking whether the mutation sequence of "CrossOver-" leads
to the crash.

Also note that these newly added tests and an existing test (cross_over.test)
all use "-reduce_inputs=0" flags to prevent reducing inputs; it's easier to
force the fuzzer to keep original input string this way than tweaking
cov-instrumented basic blocks in the source code of the fuzzer executable.

Differential Revision: https://reviews.llvm.org/D85554
The file was addedcompiler-rt/test/fuzzer/cross_over_insert.test
The file was modifiedcompiler-rt/test/fuzzer/CrossOverTest.cpp
The file was addedcompiler-rt/test/fuzzer/cross_over_copy.test
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerMutate.cpp
The file was modifiedcompiler-rt/test/fuzzer/cross_over.test
Commit 6cf4f256701de964dc540f18dfadce5bd49476eb by Matthew.Arsenault
Revert "GlobalISel: Use & operator on KnownBits"

This reverts commit e53b799779b079a70f600e5cad2ab7267d66b1b7.

Confusingly, this does not simply and the two sets of known bits, but
implements known bits for the and operator.
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit f08bbde83f472c6f8a01d7a92cf712da30753b7b by Matthew.Arsenault
Correctly revert "GlobalISel: Use & operator on KnownBits"

I mis-resolved the revert through moving the code to another function.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit 9d3dc276a698248b065d16c5b6b39939b9bb5281 by Matthew.Arsenault
AMDGPU: Fix broken switch braces
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit af1c1e20f47de56964bafb92638b607779fa6b54 by Matthew.Arsenault
AMDGPU/GlobalISel: Implement computeKnownBits for groupstaticsize
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/postlegalizercombiner-and.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Commit 5feca7c9c336ed70c57e44a43f2677498480a56f by Matthew.Arsenault
GlobalISel: Implement computeNumSignBits for G_SEXT_INREG
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
Commit 3776999b494d05abc87a52bf8d5317fd3d68a8ab by n.james93
[clang-query][NFC] Silence a few lint warnings
The file was modifiedclang-tools-extra/clang-query/tool/ClangQuery.cpp
Commit 7f717b6d1f65f8474e8633b040a16c55f0ad6b96 by Jonas Devlieghere
[lldb] Fix "no matching std::pair constructor" on Ubuntu 16.04 (NFC)

Fixes error: no matching constructor for initialization of
'std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >'
with older toolchain (clang/libcxx) on Ubuntu 16.04. The issue is the
StringRef-to-std::string conversion.
The file was modifiedlldb/unittests/Symbol/PostfixExpressionTest.cpp