UnstableChanges

Summary

  1. new win32 buildbot (details)
Commit ac4c27ddd9bf6b75f4430476a1f63a3377b38f2c by kuhnel
new win32 buildbot

Summary: Added new buildbot for 32bit Windows multi-stage

Subscribers: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82758
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. Fixup BDVER1 and ZNVER1 definitions that were accidentally changed in recent refactor. (details)
  2. [c++20] consteval functions don't get vtable slots. (details)
  3. [DWARFYAML][test] Make the checker stricter. NFC. (details)
  4. [NewPM] Add explicit init value to -enable-new-pm (details)
  5. Fix diagnostic for missing virtual dtor (details)
  6. [lld][WebAssembly] Give better error message on bad archive member (details)
  7. [NFC] fix diagnostic (details)
  8. [CodeComplete] Add code completion after function equals (details)
  9. [mlir] Remove the default template parameters from AttrBase and TypeBase. (details)
  10. [ELF][test] Fix ppc32-gnu-ifunc.s and remove XFAIL: * (details)
  11. [BPF] Fix a bug for __builtin_preserve_field_info() processing (details)
  12. [AMDGPU][NFC] Remove redundant condition (details)
  13. [Hexagon][NFC] Remove redundant condition (details)
  14. [LLDB][NFC] Remove redundant condition (details)
  15. [LLDB][Clang Integration][NFC] Remove redundant condition (details)
  16. [Sema][NFC] Remove Redundant Condition (details)
  17. [clang-tidy] New util `Aliasing` factored out from `bugprone-infinite-loop` (details)
  18. [Analyzer] Fix errors in iterator modeling (details)
  19. [Analyzer] Handle pointer implemented as iterators in iterator checkers (details)
  20. [gn build] Port 4da65c2920b (details)
  21. [clang][CrossTU] Invalidate parent map after get cross TU definition. (details)
Commit 56fc6b987ab8a235cea9ae13fb8d6430aec8c30d by douglas.yung
Fixup BDVER1 and ZNVER1 definitions that were accidentally changed in recent refactor.

- BDVER1
  - Duplicate FeatureLZCNT removed
- ZNVER1
  - Duplicate FeatureLZCNT removed
  - Removed unsupported FeatureLWP
  - Swapped FeatureMMX and FeatureMOVBE to be in alphabetical order
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 4eff2beefb2b655fc02d35de235fc86d72d05755 by richard
[c++20] consteval functions don't get vtable slots.

For the Itanium C++ ABI, this implements the rule added in
https://github.com/itanium-cxx-abi/cxx-abi/pull/83

For the MS C++ ABI, this implements the direction that seemed most
plausible based on personal correspondence with MSVC developers, but is
subject to change as they decide their ABI rule.
The file was modifiedclang/lib/AST/RecordLayoutBuilder.cpp
The file was modifiedclang/include/clang/AST/VTableBuilder.h
The file was modifiedclang/lib/AST/VTableBuilder.cpp
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
The file was addedclang/test/CodeGenCXX/vtable-consteval.cpp
Commit a22091b4f074483fa5779b0654820290ce09631d by Xing
[DWARFYAML][test] Make the checker stricter. NFC.

Currently, DWARFYAML doesn't emit the 0 byte for terminating the abbrev
table for the given compilation unit. Before addressing this issue, we
have to make the test stricter.
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-abbrev.yaml
Commit 9a5e3a43923229af2c3d8c6828ef68cb2584c941 by aeubanks
[NewPM] Add explicit init value to -enable-new-pm

So it's easier to test with it on by default.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D82922
The file was modifiedllvm/tools/opt/opt.cpp
Commit c7586444ca787c3845ac4ad0bd603709f2abbb0f by JF Bastien
Fix diagnostic for missing virtual dtor

Introduced in D82673.
The file was modifiedllvm/include/llvm/CodeGen/ModuloSchedule.h
Commit 73e575a88e27c6ed8bdb1140893260aaf5f9dc7a by sbc
[lld][WebAssembly] Give better error message on bad archive member

Include the archive name as well as the member name when an error
is encountered parsing bitcode archives.

Differential Revision: https://reviews.llvm.org/D82884
The file was modifiedlld/test/wasm/lto/libcall-truncsfhf2.ll
The file was modifiedlld/test/wasm/lto/incompatible.ll
The file was modifiedlld/wasm/InputFiles.cpp
Commit ca134e4c525babf0c414c78fb53d648fbee364d8 by JF Bastien
[NFC] fix diagnostic

It's pretty silly to diagnose on a scalar copy but the build does that:
  loop variable 'SibReg' of type 'const llvm::Register' creates a copy from type 'const llvm::Register' [-Wrange-loop-analysis]
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
Commit 83fae3f762699655a4329fe3cf6fd3e2a2617559 by 1585086582
[CodeComplete] Add code completion after function equals

Summary:
Provide `default` and `delete` completion after the function equals.

Reviewers: kadircet, sammccall

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82548
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was addedclang/test/CodeCompletion/after-function-equals.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit f625f5231ab8e76b1367f70aeed56b6389d83471 by riddleriver
[mlir] Remove the default template parameters from AttrBase and TypeBase.

MSVC 2017 doesn't support the case where a trailing variadic template list comes after template types with default parameters. Until we upgrade to VS 2019, we can't use the simplified definitions.
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/include/mlir/IR/Location.h
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedmlir/include/mlir/IR/StandardTypes.h
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/Shape.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRAttr.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTypes.h
The file was modifiedmlir/docs/Tutorials/DefiningAttributesAndTypes.md
Commit f5e0ae240f2daeee214097f222e12cd23706b1db by maskray
[ELF][test] Fix ppc32-gnu-ifunc.s and remove XFAIL: *
The file was modifiedlld/test/ELF/ppc32-gnu-ifunc.s
Commit 7f6bc84a97f617f9cf148a96ce72567cfa6066f9 by yhs
[BPF] Fix a bug for __builtin_preserve_field_info() processing

Andrii discovered a problem where a simple case similar to below
will generate wrong relocation kind:
  enum { FIELD_EXISTENCE = 2, };
  struct s1 { int a1; };
  int test() {
    struct s1 *v = 0;
    return __builtin_preserve_field_info(v[0], FIELD_EXISTENCE);
  }
The expected relocation kind should be FIELD_EXISTENCE, but
recorded reloc kind in the final object file is FIELD_BYTE_OFFSET,
which is incorrect.

This exposed a bug in generating access strings from intrinsics.
The current access string generation has two steps:
  step 1: find the base struct/union type,
  step 2: traverse members in the base type.

The current implementation relies on at lease one member access
in step 2 to get the correct relocation kind, which is true
in typical cases. But if there is no member accesses, the current
implementation falls to the default info kind FIELD_BYTE_OFFSET.
This is incorrect, we should still record the reloc kind
based on the user input. This patch fixed this issue by properly
recording the reloc kind in such cases.

Differential Revision: https://reviews.llvm.org/D82932
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-array-2.ll
Commit 71c6a36018dd3e3a8f709d4a6f81a6d3ce56d780 by adam.balogh
[AMDGPU][NFC] Remove redundant condition

Condition `LiteralCount` is checked both in an outer and in an inner
`if` statement in `SIInstrInfo::verifyInstruction()`. This patch removes
the redundant inner check.

The issue was found using `clang-tidy` check under review
`misc-redundant-condition`. See https://reviews.llvm.org/D81272.

Differential Revision: https://reviews.llvm.org/D82555
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit ec5ba353fab79d2201f63485117682756da31d46 by adam.balogh
[Hexagon][NFC] Remove redundant condition

Condition `secondReg` is checked both in an outer and in an inner `if`
statement in static function `canCompareBeNewValueJump()` in file
`HexagonNewValueJump.cpp`. This patch removes the redundant inner check.

The issue was found using `clang-tidy` check under review
`misc-redundant-condition`. See https://reviews.llvm.org/D81272.

Differential Revision: https://reviews.llvm.org/D82556
The file was modifiedllvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
Commit 1b2d2d70e1ec161878a78d880fb8972550b88185 by adam.balogh
[LLDB][NFC] Remove redundant condition

Condition `auto_advance_pc` is checked both in an outer and in an
inner `if` statement in `EmulateInstructionARM::EvaluateInstruction()`,
`EmulateInstructionARM64::EvaluateInstruction()` and
`EmulateInstructionPPC64::EvaluateInstruction()`. This patch removes the
redundant inner check.

The issue was found using `clang-tidy` check under review
`misc-redundant-condition`. See https://reviews.llvm.org/D81272.

Differential Revision: https://reviews.llvm.org/D82558
The file was modifiedlldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
The file was modifiedlldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
The file was modifiedlldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
Commit ff2d09148c91784c35b43c52f14b1501f38dd4c5 by adam.balogh
[LLDB][Clang Integration][NFC] Remove redundant condition

Condition `omit_empty_base_classes` is checked both in an outer and
in an inner `if` statement in `TypeSystemClang::GetNumBaseClasses()`.
This patch removes the redundant inner check.

The issue was found using `clang-tidy` check under review
`misc-redundant-condition`. See https://reviews.llvm.org/D81272.

Differential Revision: https://reviews.llvm.org/D82559
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit 40c50bdee443dd48424ac7d724ced8874c40ee33 by adam.balogh
[Sema][NFC] Remove Redundant Condition

Condition `TypeQuals` is checked both in an outer and in an inner `if`
statement in static function `ConvertDeclSpecToType()` in file
`SemaType.cpp`. This patch removes the redundant inner check.

The issue was found using `clang-tidy` check under review
`misc-redundant-condition`. See https://reviews.llvm.org/D81272.

Differential Revision: https://reviews.llvm.org/D82563
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit 4da65c2920b68a1cf47054a7d655cc2a19a4aa28 by adam.balogh
[clang-tidy] New util `Aliasing` factored out from `bugprone-infinite-loop`

Function `hasPtrOrReferenceInfFunc()` of `bugprone-infinite-loop` is a
generic function which could be reused in another checks. This patch
moves this function into a newly created utility module.

Differential Revision: https://reviews.llvm.org/D81396
The file was modifiedclang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
The file was addedclang-tools-extra/clang-tidy/utils/Aliasing.h
The file was addedclang-tools-extra/clang-tidy/utils/Aliasing.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/CMakeLists.txt
Commit ea563daae5232a03e08e43e68da813f76548f36a by adam.balogh
[Analyzer] Fix errors in iterator modeling

There is major a bug found in iterator modeling: upon adding a value
to or subtracting a value from an iterator the position of the original
iterator is also changed beside the result. This patch fixes this bug.

To catch such bugs in the future we also changed the tests to look for
regular expressions including an end-of-line symbol (`$`) so we can
prevent false matches where only the tested prefix matches.

Another minor bug is that when printing the state, all the iterator
positions are printed in a single line. This patch also fixes this.

Differential Revision: https://reviews.llvm.org/D82385
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
The file was modifiedclang/test/Analysis/iterator-modeling.cpp
Commit 9e63b190af76c798b06b1e3b75216abfdeb1bce3 by adam.balogh
[Analyzer] Handle pointer implemented as iterators in iterator checkers

Iterators are an abstraction of pointers and in some data structures
iterators may be implemented by pointers. This patch adds support for
iterators implemented as pointers in all the iterator checkers
(including iterator modeling).

Differential Revision: https://reviews.llvm.org/D82185
The file was modifiedclang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
The file was modifiedclang/test/Analysis/iterator-modeling.cpp
The file was modifiedclang/test/Analysis/mismatched-iterator.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/Iterator.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/Iterator.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
The file was modifiedclang/test/Analysis/invalidated-iterator.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
The file was modifiedclang/test/Analysis/iterator-range.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
Commit 52e0582440c134fc8ac59e82fe05bb9baef96a66 by llvmgnsyncbot
[gn build] Port 4da65c2920b
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
Commit f3b34466104877b024e168cac054bded6b9279a0 by 1.int32
[clang][CrossTU] Invalidate parent map after get cross TU definition.

Summary:
Parent map of ASTContext is built once. If this happens and later
the TU is modified by getCrossTUDefinition the parent map does not
contain the newly imported objects and has to be re-created.

Invalidation of the parent map is added to the CrossTranslationUnitContext.
It could be added to ASTImporter as well but for now this task remains the
responsibility of the user of ASTImporter. Reason for this is mostly that
ASTImporter calls itself recursively.

Reviewers: gamesh411, martong

Reviewed By: gamesh411

Subscribers: rnkovacs, dkrupp, Szelethus, gamesh411, martong, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82568
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
The file was modifiedclang/unittests/CrossTU/CrossTranslationUnitTest.cpp

Summary

  1. new win32 buildbot (details)
Commit ac4c27ddd9bf6b75f4430476a1f63a3377b38f2c by kuhnel
new win32 buildbot

Summary: Added new buildbot for 32bit Windows multi-stage

Subscribers: aaron.ballman

Differential Revision: https://reviews.llvm.org/D82758
The file was modifiedbuildbot/osuosl/master/config/slaves.py
The file was modifiedbuildbot/osuosl/master/config/builders.py