SuccessChanges

Summary

  1. [libc++] NFC: Remove unused ability to pass additional Lit features (details)
Commit a5b58cdd800d0d45b1bdd1f7fe058db6acbfd918 by Louis Dionne
[libc++] NFC: Remove unused ability to pass additional Lit features
The file was modifiedzorg/buildbot/builders/LibcxxAndAbiBuilder.py (diff)

Summary

  1. Make helpers static. NFC. (details)
  2. [SCCP] Use conditional info with AND/OR branch conditions. (details)
  3. [DebugInfo] Do not hang when parsing a malformed .debug_pub* section. (details)
  4. [DebugInfo] Add more checks to parsing .debug_pub* sections. (details)
  5. [DebugInfo] Fix pessimizing move. NFC. (details)
  6. SpeculativeExecution: Fix for logic change introduced in D81730. (details)
  7. [RISCV] Avoid Splitting MBB in RISCVExpandPseudo (details)
  8. BasicAAResult::constantOffsetHeuristic - pass APInt arg as const reference. NFCI. (details)
  9. [X86][AVX] Attempt to fold extract_subvector(shuffle(X)) -> extract_subvector(X) (details)
  10. make -fmodules-codegen and -fmodules-debuginfo work also with PCHs (details)
  11. [analyzer] Add CTUImportCppThreshold for C++ files (details)
  12. OpaquePtr: Don't check pointee type for byval/preallocated (details)
  13. [BasicAA] Enable -basic-aa-recphi by default (details)
  14. Fix MSVC "not all control paths return a value" warning. NFC. (details)
  15. AMDGPU/GlobalISel: Work around verifier error in test (details)
  16. [NFC] Add SExt multiuses test (details)
  17. [flang] partially revert upstreamed code to support complex values in runtime support to avoid warnings. (details)
  18. [MLIR][SPIRVToLLVM] SPIR-V types size in bytes function (details)
  19. [PowerPC] Support PCRelative Callees for R_PPC64_REL24 Relocation (details)
  20. Fix warning caused by __builtin_expect_with_probability was not handled (details)
  21. [MLIR][SPIRVToLLVM] Conversion of SPIR-V array, runtime array, and pointer types (details)
  22. [MSP430] Align the _Complex ABI with current msp430-gcc (details)
  23. Refactored NumericLiteralParser to not require a Preprocessor (details)
  24. Revert 51b0da73 "Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def."" (details)
  25. [SCCP] Move tests using only ipsccp from IPConstantProp to SCCP (NFC). (details)
  26. [PowerPC] Split s34imm into two types (details)
  27. [AliasSetTracker] More precise AAInfo intersection check (details)
  28. [compiler-rt] Better Windows support for running tests in external shell (details)
  29. [lldb] Use enum constant instead of raw value (details)
  30. [compiler-rt] [test] Use the parent process env as base env in tests (details)
  31. [runtimes] Allow passing Lit parameters through CMake (details)
  32. [compiler-rt] [test] Allow expanding lit substitutions recursively (details)
  33. [PGO][PGSO] Add profile guided size optimization tests to X86 ISel Lowering. (details)
  34. [libc++] Fix test failure in C++03 mode (details)
  35. [libc++] Move the stdlib Lit parameter to the DSL (details)
  36. [libc++] Move the long_tests Lit feature to the DSL (details)
  37. Merge TableGen files used for clang options (details)
  38. [ValueLattice] Simplify canTrackGlobalVariableInterprocedurally (NFC). (details)
  39. [Function] Lock the function when parsing call site info (details)
  40. [lldb/Function] Reflow doxygen comments for member variables, NFC (details)
  41. [libc++] Clean up some outdated documentation about running libc++ tests (details)
  42. [PowerPC] Fix test case from beb52b12cb17 (details)
  43. [X86] Directly emit X86ISD::BLENDV instead of VSELECT in a few places that were emitting sign bit tests. (details)
  44. [PGO][PGSO] Add profile guided size optimization to X86 ISel Lowering. (details)
  45. Remove unnecessary 'rm' in llvm-reduce tests (details)
  46. [X86] Immediately call LowerShift from lowerBuildVectorToBitOp. (details)
  47. [libc++] Move the enable_experimental Lit param to the DSL (details)
  48. [InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison (details)
  49. Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch. (details)
  50. [libc++] The enable_experimental Lit feature should be False by default (details)
  51. [OPENMP50] extend array section for stride (Parsing/Sema/AST) (details)
  52. [NFC][test] Adding fastcc test case for promoted 16-bit integer bitcasts. (details)
  53. [lldb/Reproducers] Rename developer-oriented reproducer flags. (details)
  54. [LLDB/Reproducers] Add flag to avoid installing the signal handler. (details)
  55. [NFC][AArch64] Refactor getArgumentPopSize (details)
  56. [AST][test] Add regression test forPointerExprEvaluator::VisitCXXNewExpr (details)
  57. [MLIR] IR changes to add yield semantics for affine.if and affine.parallel (details)
  58. [Clang][Driver] Recognize the AIX OBJECT_MODE environment setting (details)
  59. [libc++] Get rid of the %{libcxx_src_root} substitution (details)
  60. [InstSimplify] Re-enable select ?, undef, X -> X transform when X is provably not poison (details)
  61. [SVE] Remove calls to VectorType::getNumElements from CodeGen (details)
  62. [LPM] Port CGProfilePass from NPM to LPM (details)
  63. [CMake][Fuchsia] Support for building with MSVC (details)
  64. Revert "[InstCombine] Lower infinite combine loop detection thresholds" (details)
  65. [Docs] CodingStandards: for_each is discouraged (details)
  66. [NFCI][llvm-reduce] OperandBundleCounter: drop pointless constructor (details)
  67. [NFC][llvm-reduce] Purify for_each usage in Operand Bundles into range-based for loop (details)
  68. [llvm-reduce] Reducing attributes (details)
Commit b44470547e2ec8a52abb67c3f538ecc49ee27970 by benny.kra
Make helpers static. NFC.
The file was modifiedllvm/lib/MC/MCDisassembler/MCDisassembler.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Commit a86ce06fafaa051554c6a21d487fa70e998dcafe by flo
[SCCP] Use conditional info with AND/OR branch conditions.

Currently SCCP does not combine the information of conditions joined by
AND in the true branch or OR in the false branch.

For branches on AND, 2 copies will be inserted for the true branch, with
one being the operand of the other as in the code below. We can combine
the information using intersection. Note that for the OR case, the
copies are inserted in the false branch, where using intersection is
safe as well.

    define void @foo(i32 %a) {
    entry:
      %lt = icmp ult i32 %a, 100
      %gt = icmp ugt i32 %a, 20
      %and = and i1 %lt, %gt
    ; Has predicate info
    ; branch predicate info { TrueEdge: 1 Comparison:  %lt = icmp ult i32 %a, 100 Edge: [label %entry,label %true] }
      %a.0 = call i32 @llvm.ssa.copy.140247425954880(i32 %a)
    ; Has predicate info
    ; branch predicate info { TrueEdge: 1 Comparison:  %gt = icmp ugt i32 %a, 20 Edge: [label %entry,label %false] }
      %a.1 = call i32 @llvm.ssa.copy.140247425954880(i32 %a.0)
      br i1 %and, label %true, label %false

    true:                                             ; preds = %entry
      call void @use(i32 %a.1)
      %true.1 = icmp ne i32 %a.1, 20
      call void @use.i1(i1 %true.1)
      ret void

    false:                                            ; preds = %entry
      call void @use(i32 %a.1)
      ret void
    }

Reviewers: efriedma, davide, mssimpso, nikic

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D77808
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/test/Transforms/SCCP/conditions-ranges.ll
Commit 68f5a8b2042b8c4dc83d1851b462a0570eb3410f by ikudrin
[DebugInfo] Do not hang when parsing a malformed .debug_pub* section.

The parsing method did not check reading errors and might easily fall
into an infinite loop on an invalid input because of that.

Differential Revision: https://reviews.llvm.org/D83049
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_invalid.s
The file was modifiedlld/ELF/DWARF.h
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
The file was addedlld/test/ELF/gdb-index-invalid-pubnames.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
Commit ca4d8da0c33cd9bcd05f94b4b3ac125b72be2a2a by ikudrin
[DebugInfo] Add more checks to parsing .debug_pub* sections.

The patch adds checking for various potential issues in parsing name
lookup tables and reporting them as recoverable errors, similarly as we
do for other tables.

Differential Revision: https://reviews.llvm.org/D83050
The file was removedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_invalid.s
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/test/ELF/gdb-index-invalid-pubnames.s
The file was addedllvm/test/tools/llvm-dwarfdump/X86/debug_pub_tables_error_cases.s
The file was modifiedlld/test/ELF/Inputs/gdb-index.s
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedlld/test/ELF/gdb-index.s
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
Commit d36b8414bdde1f361c40e6f6d53788c43ffe53c1 by benny.kra
[DebugInfo] Fix pessimizing move. NFC.

DWARFDebugPubTable.cpp:80:31: warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
Commit 167767a775f3db5cd94053d4da6a4f419b6211cd by dfukalov
SpeculativeExecution: Fix for logic change introduced in D81730.

Summary:
The test case started to hoist bitcasts to upper BB after D81730.
Reverted unintentional logic change. Some instructions may have zero cost but
will not be hoisted by different limitation so should be counted for threshold.

Reviewers: aprantl, arsenm, nhaehnle

Reviewed By: aprantl

Subscribers: wdng, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82761
The file was modifiedllvm/test/Transforms/SpeculativeExecution/PR46267.ll
The file was modifiedllvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
Commit 97106f9d80f6ba1bf5eafbd5a6f88d72913ec5a1 by selliott
[RISCV] Avoid Splitting MBB in RISCVExpandPseudo

Since the `RISCVExpandPseudo` pass has been split from
`RISCVExpandAtomicPseudo` pass, it would be nice to run the former as
early as possible (The latter has to be run as late as possible to
ensure correctness). Running earlier means we can reschedule these pairs
as we see fit.

Running earlier in the machine pass pipeline is good, but would mean
teaching many more passes about `hasLabelMustBeEmitted`. Splitting the
basic blocks also pessimises possible optimisations because some
optimisations are MBB-local, and others are disabled if the block has
its address taken (which is notionally what `hasLabelMustBeEmitted`
means).

This patch uses a new approach of setting the pre-instruction symbol on
the AUIPC instruction to a temporary symbol and referencing that. This
avoids splitting the basic block, but allows us to reference exactly the
instruction that we need to. Notionally, this approach seems more
correct because we do actually want to address a specific instruction.

This then allows the pass to be moved much earlier in the pass pipeline,
before both scheduling and register allocation. However, to do so we
must leave the MIR in SSA form (by not redefining registers), and so use
a virtual register for the intermediate value. By using this virtual
register, this pass now has to come before register allocation.

Reviewed By: luismarques, asb

Differential Revision: https://reviews.llvm.org/D82988
The file was modifiedllvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
The file was modifiedllvm/test/CodeGen/RISCV/tls-models.ll
The file was modifiedllvm/test/CodeGen/RISCV/pic-models.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVMCInstLower.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/RISCV/codemodel-lowering.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
The file was modifiedllvm/test/CodeGen/RISCV/mir-target-flags.ll
Commit 4597bfddf11b7d9dcf373525d0bc889bcc212b13 by llvm-dev
BasicAAResult::constantOffsetHeuristic - pass APInt arg as const reference. NFCI.

Avoids unnecessary APInt copies and silences clang tidy warning.
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/BasicAliasAnalysis.h
Commit f54402b63a4f5b0b4b15e0f82ce8ff8501b206e6 by llvm-dev
[X86][AVX] Attempt to fold extract_subvector(shuffle(X)) -> extract_subvector(X)

If we're extracting a subvector from a shuffle that is shuffling entire subvectors we can peek through and extract the subvector from the shuffle source instead.

This helps remove some cases where concat_vectors(extract_subvector(),extract_subvector()) legalizations has resulted in BLEND/VPERM2F128 shuffles of the subvectors.
The file was modifiedllvm/test/CodeGen/X86/known-signbits-vector.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/packss.ll
The file was modifiedllvm/test/CodeGen/X86/vector-pack-256.ll
The file was modifiedllvm/test/CodeGen/X86/x86-interleaved-access.ll
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 31b05692cd33b6dcc39402169b36d895e1aa87f4 by l.lunak
make -fmodules-codegen and -fmodules-debuginfo work also with PCHs

Allow to build PCH's (with -building-pch-with-obj and the extra .o file)
with -fmodules-codegen -fmodules-debuginfo to allow emitting shared code
into the extra .o file, similarly to how it works with modules. A bit of
a misnomer, but the underlying functionality is the same. This saves up
to 20% of build time here. The patch is fairly simple, it basically just
duplicates -fmodules checks to also alternatively check
-building-pch-with-obj.

This already got committed as cbc9d22e49b434b6ceb2eb94b67079d02e0a7b74,
but then got reverted in 7ea9a6e0220da36ff2fd1fbc29c2755be23e5166
because of PR44953, as discussed in D74846. This is a corrected version
which does not include two places for the PCH case that aren't included
in the modules -fmodules-codegen path either.

Differential Revision: https://reviews.llvm.org/D69778
The file was addedclang/test/PCH/codegen.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/Modules/Inputs/codegen-flags/foo.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit d12d0b73f1c9c3a711c5cc15266a2b493cd712e9 by gabor.marton
[analyzer] Add CTUImportCppThreshold for C++ files

Summary:
The default CTUImportThreshold (8) seems to be too conservative with C projects.
We increase this value to 24 and we introduce another threshold for C++ source
files (defaulted to 8) because their AST is way more compilcated than C source
files.

Differential Revision: https://reviews.llvm.org/D83475
The file was modifiedclang/unittests/CrossTU/CrossTranslationUnitTest.cpp
The file was modifiedclang/test/Analysis/ctu-import-threshold.c
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was modifiedclang/lib/CrossTU/CrossTranslationUnit.cpp
Commit 6f5d9136b27eefc981333d8c23ea9c0a38033d7b by Matthew.Arsenault
OpaquePtr: Don't check pointee type for byval/preallocated

Since none of these users really care about the actual type, hide the
type under a new size-getting attribute to go along with
hasPassPointeeByValueAttr. This will work better for the future byref
attribute, which may end up only tracking the byte size and not the IR
type.

We currently have 3 parameter attributes that should carry the type
(technically inalloca does not yet). The APIs are somewhat awkward
since preallocated/inalloca piggyback on byval in some places, but in
others are treated as distinct attributes. Since these are all
mutually exclusive, we should probably just merge all the attribute
infrastructure treating these as totally distinct attributes.
The file was modifiedllvm/lib/IR/Mangler.cpp
The file was modifiedllvm/include/llvm/IR/Argument.h
The file was modifiedllvm/lib/IR/Function.cpp
Commit af839a96187e3538d63ad57571e4bdf01e2b15c5 by david.green
[BasicAA] Enable -basic-aa-recphi by default

This option was added a while back, to help improve AA around pointer
phi loops. It looks for phi(gep(phi, const), x) loops, checking if x can
then prove more precise aliasing info.

Differential Revision: https://reviews.llvm.org/D82998
The file was modifiedllvm/test/Analysis/BasicAA/phi-loop.ll
The file was modifiedllvm/test/Analysis/BasicAA/recphi.ll
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
Commit 3514f58fbea5967a967468633c901e9b2f241594 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFC.
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
Commit fdde69aac9b99a5cda49c5b738dc8dc67ea4cbbd by Matthew.Arsenault
AMDGPU/GlobalISel: Work around verifier error in test

The unfortunate split between finalizeLowering and the selector pass
means there's a point where the verifier fails. The DAG selector pass
skips the verifier, but this seems to not work when using the
GlobalISel fallback.
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
Commit a0e981c190ffa0ad6b521222bc2fba504c9750ec by diogo.sampaio
[NFC] Add SExt multiuses test
The file was addedllvm/test/Transforms/BDCE/sext_multi_uses.ll
Commit 7cd1b0ff347d7aa4864624501efbe2ac609e67d7 by eschweitz
[flang] partially revert upstreamed code to support complex values in runtime support to avoid warnings.
The file was modifiedflang/runtime/pgmath.h.inc
The file was modifiedflang/lib/Evaluate/intrinsics-library.cpp
Commit 5d075beae73f3d9570230c0780e74dc32dda39a9 by georgemitenk0v
[MLIR][SPIRVToLLVM] SPIR-V types size in bytes function

Added `getSizeInBytes()` function as a class member to several SPIR-V types:
`ScalarType`, `ArrayType` and `VectorType`. This function aims at exposing
the functionality of `getTypeNumBytes()` from `SPIRVLowering.cpp`. Support
of more types will be added on demand.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83285
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
Commit beb52b12cb175d0df9bf168837d153f857f69eda by kamau.bridgeman
[PowerPC] Support PCRelative Callees for R_PPC64_REL24 Relocation

The R_PPC64_REL24 is used in function calls when the caller requires a
valid TOC pointer. If the callee shares the same TOC or does not clobber
the TOC pointer then a direct call can be made. If the callee does not
share the TOC a thunk must be added to save the TOC pointer for the caller.

Up until PC Relative was introduced all local calls on medium and large code
models were assumed to share a TOC. This is no longer the case because
if the caller requires a TOC and the callee is PC Relative then the callee
can clobber the TOC even if it is in the same DSO.

This patch is to add support for a TOC caller calling a PC Relative callee that
clobbers the TOC.

Reviewed By: sfertile, MaskRay

Differential Revision: https://reviews.llvm.org/D82950
The file was addedlld/test/ELF/ppc64-error-toc-local-call.s
The file was addedlld/test/ELF/ppc64-toc-call-to-pcrel.s
The file was modifiedlld/ELF/Thunks.cpp
The file was modifiedlld/ELF/Arch/PPC64.cpp
The file was addedlld/test/ELF/ppc64-toc-call-to-pcrel-long-jump.s
Commit 4d4d9037670a3537c14092807a717284ea0c4f92 by erich.keane
Fix warning caused by __builtin_expect_with_probability was not handled
in places such as constant folding

Previously some places that should have handled
__builtin_expect_with_probability is missing, so in some case it acts
differently than __builtin_expect.
For example it was not handled in constant folding, thus in the
following program, the "if" condition should be constantly true and
folded, but previously it was not handled and cause warning "control may
reach end of non-void function" (while __builtin_expect does not):

__attribute__((noreturn)) extern void bar();
int foo(int x, int y) {
  if (y) {
    if (__builtin_expect_with_probability(1, 1, 1))
      bar();
  }
  else
    return 0;
}

Now it's fixed.

Differential Revisions: https://reviews.llvm.org/D83362
The file was modifiedclang/test/Sema/builtin-expect-with-probability.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
Commit 28cd3cbc12577fa44f9b15c2ffaf9fb1bc280590 by georgemitenk0v
[MLIR][SPIRVToLLVM] Conversion of SPIR-V array, runtime array, and pointer types

This patch adds type conversion for 4 SPIR-V types: array, runtime array, pointer
and struct. This conversion is integrated using a separate function
`populateSPIRVToLLVMTypeConversion()` that adds new type conversions. At the moment,
this is a basic skeleton that allows to perfom conversion from SPIR-V array,
runtime array and pointer types to LLVM typesystem. There is no support of array
strides or storage classes. These will be supported on the case by case basis.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D83399
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.cpp
The file was addedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.invalid.mlir
The file was modifiedmlir/lib/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVMPass.cpp
The file was modifiedmlir/test/Conversion/SPIRVToLLVM/cast-ops-to-llvm.mlir
The file was modifiedmlir/include/mlir/Conversion/SPIRVToLLVM/ConvertSPIRVToLLVM.h
The file was addedmlir/test/Conversion/SPIRVToLLVM/spirv-types-to-llvm.mlir
Commit 67422e4294754e08f277b1ba22820487eb76b918 by atrosinenko
[MSP430] Align the _Complex ABI with current msp430-gcc

Assembler output is checked against msp430-gcc 9.2.0.50 from TI.

Reviewed By: asl

Differential Revision: https://reviews.llvm.org/D82646
The file was addedclang/test/CodeGen/msp430-abi-complex.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 3cca818efabbccdde36b06609cf75ee7caa8e012 by gribozavr
Refactored NumericLiteralParser to not require a Preprocessor

Summary:
We would like to use NumericLiteralParser in the implementation of the
syntax tree builder, and plumbing a preprocessor there seems
inconvenient and superfluous.

Reviewers: eduucaldas

Reviewed By: eduucaldas

Subscribers: gribozavr2, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D83480
The file was modifiedclang/include/clang/Lex/LiteralSupport.h
The file was modifiedclang/lib/Lex/PPExpressions.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Lex/LiteralSupport.cpp
The file was modifiedclang/lib/Lex/Preprocessor.cpp
Commit 9ecda9aa804dcb49e30e46161b29976494b0a1f9 by hans
Revert 51b0da73 "Recommit "[X86] Merge the FEATURE_64BIT and FEATURE_EM64T bits in X86TargetParser.def.""

It gets miscompiled with GCC 5.3, causing Clang to crash with
"error: unknown target CPU 'x86-64'"

See the llvm-commits thread for reproduction steps.

This reverts commit 51b0da731af75c68dd521e04cc576d5a611b1612.
The file was modifiedllvm/include/llvm/Support/X86TargetParser.def
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/lib/Support/X86TargetParser.cpp
Commit 9477d39e61f8e0076e47fef81941e8a24e979d6f by flo
[SCCP] Move tests using only ipsccp from IPConstantProp to SCCP (NFC).

Some of the tests in the llvm/test/Transforms/IPConstantProp directory
actually only use -ipsccp. Those tests belong to the other (IP)SCCP
tests in llvm/test/Transforms/SCCP/ and this commits moves them there to
avoid confusion with IPConstantProp.
The file was addedllvm/test/Transforms/SCCP/solve-after-each-resolving-undefs-for-function.ll
The file was addedllvm/test/Transforms/SCCP/fp-bc-icmp-const-fold.ll
The file was addedllvm/test/Transforms/SCCP/musttail-call.ll
The file was addedllvm/test/Transforms/SCCP/global.ll
The file was removedllvm/test/Transforms/IPConstantProp/remove-call-inst.ll
The file was addedllvm/test/Transforms/SCCP/user-with-multiple-uses.ll
The file was removedllvm/test/Transforms/IPConstantProp/global.ll
The file was addedllvm/test/Transforms/SCCP/2009-09-24-byval-ptr.ll
The file was removedllvm/test/Transforms/IPConstantProp/musttail-call.ll
The file was addedllvm/test/Transforms/SCCP/PR26044.ll
The file was removedllvm/test/Transforms/IPConstantProp/PR26044.ll
The file was addedllvm/test/Transforms/SCCP/PR16052.ll
The file was removedllvm/test/Transforms/IPConstantProp/PR16052.ll
The file was addedllvm/test/Transforms/SCCP/remove-call-inst.ll
The file was removedllvm/test/Transforms/IPConstantProp/dangling-block-address.ll
The file was removedllvm/test/Transforms/IPConstantProp/user-with-multiple-uses.ll
The file was addedllvm/test/Transforms/SCCP/dangling-block-address.ll
The file was removedllvm/test/Transforms/IPConstantProp/solve-after-each-resolving-undefs-for-function.ll
The file was removedllvm/test/Transforms/IPConstantProp/fp-bc-icmp-const-fold.ll
The file was removedllvm/test/Transforms/IPConstantProp/2009-09-24-byval-ptr.ll
Commit bd2068031121adf5a0e28d9306a1741d6f0bbd87 by kamau.bridgeman
[PowerPC] Split s34imm into two types

Currently the instruction paddi always takes s34imm as the type for the
34 bit immediate. However, the PC Relative form of the instruction should
not produce the same fixup as the non PC Relative form.
This patch splits the s34imm type into s34imm and s34imm_pcrel so that two
different fixups can be emitted.

Reviewed By: kamaub, nemanjai

Differential Revision: https://reviews.llvm.org/D83255
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was addedllvm/test/MC/PowerPC/ppc64-errors-emit-obj.s
Commit afc1a709433e3754ee3819efd9e144b657919131 by nikita.ppv
[AliasSetTracker] More precise AAInfo intersection check

The code currently checks whether the intersection has one of TBAA,
Scope or NoAlias unset -- however, those might have already been
unset in the first place, in which case we will unnecessarily
report a change. Instead, compare the intersection result to the
original AAInfo.

This makes for a 0.5% geomean compile-time saving on CTMark.

Differential Revision: https://reviews.llvm.org/D83430
The file was modifiedllvm/include/llvm/Analysis/AliasSetTracker.h
Commit a89d54fd61a6e7a05f7434491135e667306a22e7 by jaskiewiczs
[compiler-rt] Better Windows support for running tests in external shell

Summary:
These changes are necessary to support remote running compiler-rt tests
that were compiled on Windows.

Most of the code here has been copy-pasted from other lit configs.

Why do we remove the conversions to ASCII in the crt config?

We set the `universal_newlines` argument to `True` in `Popen` instead.
This is supported in both Python 2.7 and 3, is easier
(no need to do the `str(dir.decode('ascii'))` dance) and less
error prone.

Also, this is necessary because if the config is executed on Windows,
and `execute_external` is `True`, we take the branch
`if sys.platform in ['win32'] and execute_external`,
and if we use Python 3, then the `dir` variable is a byte-like object,
not str, but the ``replace method on byte-like objects requires its
arguments to also be byte-like objects, which is incompatible with
Python 2 etc etc.

It is a lot simpler to just work with strings in the first place, which
is achieved by setting `universal_newlines` to `True`. As far as
I understand, this way wasn't taken because of the need to support
Python <2.7, but this is not the case now.

Reviewers: compnerd, phosek, weimingz

Reviewed By: compnerd

Subscribers: dberris, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D83485
The file was modifiedcompiler-rt/test/builtins/Unit/lit.cfg.py
The file was modifiedcompiler-rt/test/crt/lit.cfg.py
Commit e529d774c4d5d1eba13dcad5eef2195dd06741c6 by Fred Riss
[lldb] Use enum constant instead of raw value
The file was modifiedllvm/include/llvm/BinaryFormat/MachO.h
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Commit 5ab446cfe5503fd4431a94db4d741cf3b5fdcd15 by jaskiewiczs
[compiler-rt] [test] Use the parent process env as base env in tests

Summary:
Right now the lit config builds up an environment that the tests will be run in. However, it does it from scratch instead of adding new variables to the parent process environment. This may (and does) result in strange behavior when running tests with an executor (i. e. with the `COMPILER_RT_EMULATOR` CMake variable set to something), since the executor may need some of the parent process's environment variables.

Here this is fixed.

Reviewers: compnerd, phosek

Reviewed By: compnerd

Subscribers: dberris, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D83486
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit 6f69318c7248275b509ecf0f88eb2ba725aaeb82 by Louis Dionne
[runtimes] Allow passing Lit parameters through CMake

This allows passing parameters to the test suites without using
LLVM_LIT_ARGS. The problem is that we sometimes want to set some
Lit arguments on the CMake command line, but the Lit parameters in
a CMake cache file. If the only knob to do that is LLVM_LIT_ARGS,
the command-line entry overrides the cache one, and the parameters
set by the cache are ignored.

This fixes a current issue with the build bots that they completely
ignore the 'std' param set by Lit, because other Lit arguments are
provided via LLVM_LIT_ARGS on the CMake command-line.
The file was modifiedlibcxx/cmake/caches/Generic-cxx2a.cmake
The file was modifiedlibcxx/test/CMakeLists.txt
The file was modifiedlibcxxabi/test/CMakeLists.txt
The file was modifiedlibcxx/cmake/caches/Generic-cxx03.cmake
The file was modifiedlibcxx/cmake/caches/Generic-cxx11.cmake
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxx/cmake/caches/Generic-cxx14.cmake
The file was modifiedlibcxx/cmake/caches/Generic-cxx17.cmake
The file was modifiedlibcxxabi/CMakeLists.txt
Commit 8372d505082aceb38417e0b561cd32f2e227597b by jaskiewiczs
[compiler-rt] [test] Allow expanding lit substitutions recursively

Summary:
This allows using lit substitutions in the `COMPILER_RT_EMULATOR` variable.

(For reference, the ability to expand substitutions recursively has been introduced in https://reviews.llvm.org/D76178.)

Reviewers: phosek, compnerd

Reviewed By: compnerd

Subscribers: dberris, #sanitizers

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D83489
The file was modifiedcompiler-rt/test/lit.common.cfg.py
Commit 06fc125d8c5d7d1244ee2160fba52bc1b91ddb99 by yamauchi
[PGO][PGSO] Add profile guided size optimization tests to X86 ISel Lowering.
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/test/CodeGen/X86/phaddsub-extract.ll
Commit 6a8ed4a8ffdc7ec2dcc6038a494924a3d5a2b3a3 by Louis Dionne
[libc++] Fix test failure in C++03 mode
The file was modifiedlibcxx/test/libcxx/experimental/language.support/support.coroutines/dialect_support.pass.cpp
Commit c1a83c30e10c19cdd83277bf2e5ceca7ce6471c8 by Louis Dionne
[libc++] Move the stdlib Lit parameter to the DSL
The file was modifiedlibcxx/utils/libcxx/test/params.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 4598a3c7841bed32c21608a78b879e197f5002e2 by Louis Dionne
[libc++] Move the long_tests Lit feature to the DSL
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/test/params.py
Commit fccd29dddee92ffa7cd8a9adec6e626760538dae by dany.grumberg
Merge TableGen files used for clang options

Summary:
Putting all the options in the same file is needed so they can be
ordered based on the dependencies between them.

Reviewers: Bigcheese, jdoerfert

Subscribers: dexonsmith, sstefan1, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82574
The file was modifiedclang/include/clang/Driver/Options.td
The file was removedclang/include/clang/Driver/CLCompatOptions.td
Commit 0b72b9d07fcdf888a7020f16f8e497f1e83d2d90 by flo
[ValueLattice] Simplify canTrackGlobalVariableInterprocedurally (NFC).

using all_of and checking for valid users in the lambda seems more
straight forward. Also adds a comment explaining what we are checking.
The file was modifiedllvm/lib/Analysis/ValueLatticeUtils.cpp
Commit 6cfc90b9b791a023368b9384f57c2c3120894247 by Vedant Kumar
[Function] Lock the function when parsing call site info

Summary:
DWARF-parsing methods in SymbolFileDWARF which update module state
typically take the module lock. ParseCallEdgesInFunction doesn't do
this, but higher-level locking within lldb::Function (which owns the
storage for parsed call edges) is necessary.

The lack of locking could explain some as-of-yet unreproducible crashes
which occur in Function::GetTailCallingEdges(). In these crashes, the
`m_call_edges` vector is non-empty but contains a nullptr, which
shouldn't be possible. (If this vector is non-empty, it _must_ contain a
non-null unique_ptr.)

This may address rdar://55622443 and rdar://65119458.

Reviewers: jasonmolenda, friss, jingham

Subscribers: aprantl, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D83359
The file was modifiedlldb/source/Symbol/Function.cpp
The file was modifiedlldb/include/lldb/Symbol/Function.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Commit f8f259ce4aca381896c114738a3d83a90c5c32be by Vedant Kumar
[lldb/Function] Reflow doxygen comments for member variables, NFC

As suggested in the review for https://reviews.llvm.org/D83359.
The file was modifiedlldb/include/lldb/Symbol/Function.h
Commit b785396525562661ffba887501c540fea951633f by Louis Dionne
[libc++] Clean up some outdated documentation about running libc++ tests

The documentation is still awfully outdated, but it's a bit better at least.
The file was modifiedlibcxx/docs/TestingLibcxx.rst
The file was modifiedlibcxx/utils/libcxx/test/target_info.py
Commit 6f7727db478b452a262b2beea2beceef096eb68c by stefanp
[PowerPC] Fix test case from beb52b12cb17

Forgot to add the REQUIRES ppc line to the test.
The file was modifiedlld/test/ELF/ppc64-error-toc-local-call.s
Commit 3e75912005cbbdc7c7244b73319cb7441e64682f by craig.topper
[X86] Directly emit X86ISD::BLENDV instead of VSELECT in a few places that were emitting sign bit tests.

Technically a VSELECT expects a vector of all 1s or 0s elements
for its condition. But we aren't guaranteeing that the sign bit
and the non sign bits match in these locations. So we should use
BLENDV which is more relaxed.

Differential Revision: https://reviews.llvm.org/D83447
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 2c1a9006dd73e4e9f446fb6fa6cf2328eee1558f by yamauchi
[PGO][PGSO] Add profile guided size optimization to X86 ISel Lowering.
The file was modifiedllvm/test/CodeGen/X86/avx-vperm2x128.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/phaddsub-extract.ll
Commit 8769611f0af2598177d8d03ad6dbbe064210bfed by dblaikie
Remove unnecessary 'rm' in llvm-reduce tests

These were initially added to cleanup some transient/leftover files in
r372054. Now that's all cleaned up, these are no longer needed.
The file was modifiedllvm/test/Reduce/remove-operand-bundles.ll
The file was modifiedllvm/test/Reduce/remove-funcs.ll
The file was modifiedllvm/test/Reduce/remove-multiple-use-of-args-in-same-instruction.ll
The file was modifiedllvm/test/Reduce/remove-multiple-use-of-global-vars-in-same-instruction.ll
The file was modifiedllvm/test/Reduce/remove-args.ll
The file was modifiedllvm/test/Reduce/remove-global-vars.ll
The file was modifiedllvm/test/Reduce/remove-metadata.ll
Commit 918e6531863187d65895fd68bbc622369b3d79f3 by craig.topper
[X86] Immediately call LowerShift from lowerBuildVectorToBitOp.

If we don't immediately lower the vector shift, the splat
constant vector we created may get turned into a constant pool
load before we get around to lowering the shift. This makes it
a lot more difficult to create a shift by constant. Sometimes we
fail to see through the constant pool at all and end up trying
to lower as if it was a variable shift. This requires custom
handling and may create an unsupported vselect on pre-sse-4.1
targets. Since we're after LegalizeVectorOps we are unable to
legalize the unsupported vselect as that code is in LegalizeVectorOps
rather than LegalizeDAG.

So calling LowerShift immediately ensures that we get see the
splat constant.

Fixes PR46527.

Differential Revision: https://reviews.llvm.org/D83455
The file was addedllvm/test/CodeGen/X86/pr46527.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit f5f58f1f733b880decfb8f12ebba6126da818496 by Louis Dionne
[libc++] Move the enable_experimental Lit param to the DSL
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/test/params.py
Commit 122b0640fc97202bacb630744dfc6da58f11af42 by craig.topper
[InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison

We can't fold to the non-undef value unless we know it isn't poison. So check each element with isGuaranteedNotToBeUndefOrPoison. This currently rules out all constant expressions.

Differential Revision: https://reviews.llvm.org/D83442
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit c2827083166cd5150232d8fd3ada3cf8fa8c9ac3 by echristo
Fix [-Werror,-Wsign-compare] warnings arising from subsection symbols patch.
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp
Commit cfb36754108deae438c0b822f80cdbc7c1c26593 by Louis Dionne
[libc++] The enable_experimental Lit feature should be False by default

This preserves existing behavior before f5f58f1f733b.
The file was modifiedlibcxx/utils/libcxx/test/params.py
Commit 2da9572a9b10c8e4d0db2f3267f1a2c0ea31c896 by cchen
[OPENMP50] extend array section for stride (Parsing/Sema/AST)

Reviewers: ABataev, jdoerfert

Reviewed By: ABataev

Subscribers: yaxunl, guansong, arphaman, sstefan1, cfe-commits, sandoval, dreachem

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82800
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_update_messages.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_depend_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_messages.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang-c/Index.h
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/test/OpenMP/target_enter_data_depend_messages.cpp
The file was modifiedclang/include/clang/AST/ExprOpenMP.h
The file was modifiedclang/test/OpenMP/target_update_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_exit_data_depend_messages.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_messages.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/test/OpenMP/target_data_messages.c
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_messages.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_messages.cpp
Commit 7e169cec74b09dc7a0eeafcb21e9f827314265ef by plotfi
[NFC][test] Adding fastcc test case for promoted 16-bit integer bitcasts.

The following: https://reviews.llvm.org/D82552

fixed an assert in the SelectionDag ISel legalizer for some CCs on armv7.

I noticed that this fix also fixes the assert when using fastcc, so I am
adding a fastcc regression test here.

Differential Revision: https://reviews.llvm.org/D82443
The file was modifiedllvm/test/CodeGen/ARM/arm-half-promote.ll
Commit 84557c18b3ca3cfc8d1f8ee988d8c19e2719f124 by Jonas Devlieghere
[lldb/Reproducers] Rename developer-oriented reproducer flags.

This is a preparatory rename of the developer facing reproducer flags.

reproducer-skip-version-check -> reproducer-no-version-check
reproducer-auto-generate      -> reproducer-generate-on-quit
The file was modifiedlldb/test/Shell/Reproducer/TestDriverOptions.test
The file was modifiedlldb/test/Shell/Reproducer/TestVersionCheck.test
The file was modifiedlldb/tools/driver/Driver.cpp
The file was modifiedlldb/tools/driver/Options.td
The file was modifiedlldb/utils/lldb-repro/lldb-repro.py
Commit 10aa9e19fa2f4bf214131d30d7885f8b258b216f by Jonas Devlieghere
[LLDB/Reproducers] Add flag to avoid installing the signal handler.

There are bugs where you don't want the signal handler to trigger, most
notably when that will cause another crash. Examples of this are lldb
running out of memory or a bug in the reproducer generation code. This
adds an escape hatch trough a (developer oriented) flag to not install
the signal handler.

rdar://problem/65149595

Differential revision: https://reviews.llvm.org/D83496
The file was modifiedlldb/tools/driver/Options.td
The file was modifiedlldb/test/Shell/Reproducer/TestCrash.test
The file was modifiedlldb/tools/driver/Driver.cpp
Commit 7af27b65b3ce4690da97fd8048be7237e0358ef5 by plotfi
[NFC][AArch64] Refactor getArgumentPopSize

Differential Revision: https://reviews.llvm.org/D83456
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Commit e81f9cd2137f258fd1ec6a169db836387bcca84a by Jan Korous
[AST][test] Add regression test forPointerExprEvaluator::VisitCXXNewExpr

This assert was failing:
assert(CAT && "unexpected type for array initializer");

until this patch landed:
9a7eda1bece887ca9af085d79fe6e4fb8826dcda
PR45350: Handle unsized array CXXConstructExprs in constant evaluation
The file was addedclang/test/AST/regression-new-expr-crash.cpp
Commit 2ede89187516ccd4ba06b83303e9d07c5d555ecf by jeremy.bruestle
[MLIR] IR changes to add yield semantics for affine.if and affine.parallel

Reviewed By: bondhugula, flaub

Differential Revision: https://reviews.llvm.org/D82600
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.td
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
The file was modifiedmlir/lib/Dialect/Affine/Utils/Utils.cpp
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.td
The file was modifiedmlir/lib/Dialect/Affine/EDSC/Builders.cpp
The file was modifiedmlir/lib/Dialect/Affine/IR/AffineOps.cpp
The file was modifiedmlir/test/Dialect/Affine/invalid.mlir
The file was addedmlir/include/mlir/Dialect/StandardOps/IR/StandardOpsBase.td
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
The file was modifiedmlir/test/Dialect/Affine/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/Affine/IR/AffineOps.h
The file was modifiedmlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
Commit 25ec96d91a3a5326a403496fa5532ff0bdb6a15b by daltenty
[Clang][Driver] Recognize the AIX OBJECT_MODE environment setting

Summary:
AIX uses an environment variable called OBJECT_MODE to indicate to
utilities in the toolchain whether they should be operating in 32-bit or
64-bit mode. This patch makes the clang driver recognize the current
OBJECT_MODE setting when we are operating with an AIX target and adds a
custom diagnostic for invalid settings.

For more details about OBJECT_MODE on AIX see:

https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/tusetenv1.html
https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.3/com.ibm.xlc1313.aix.doc/compiler_ref/opt_3264.html

Reviewers: stevewan, hubert.reinterpretcast, ShuhongL, jasonliu

Reviewed By: hubert.reinterpretcast, jasonliu

Subscribers: jasonliu, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82476
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was addedclang/test/Driver/aix-object-mode.c
The file was modifiedclang/lib/Driver/Driver.cpp
Commit 389b67b809cd75470819d69102d62bb316d15967 by Louis Dionne
[libc++] Get rid of the %{libcxx_src_root} substitution

This reduces the set of substitutions required to run the test suite.
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/convert_file_time.pass.cpp
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/test/pretty_printers/gdb_pretty_printer_test.sh.cpp
The file was modifiedlibcxx/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.pass.cpp
Commit 469da663f2df150629786df3f82c217062924f5e by craig.topper
[InstSimplify] Re-enable select ?, undef, X -> X transform when X is provably not poison

Follow up from the transform being removed in D83360. If X is probably not poison, then the transform is safe.

Still plan to remove or adjust the code from ConstantFolding after this.

Differential Revision: https://reviews.llvm.org/D83440
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit ff5b9a7b3b2736db02c6550bb4eae84ae65e294c by ctetreau
[SVE] Remove calls to VectorType::getNumElements from CodeGen

Reviewers: efriedma, fpetrogalli, sdesmalen, RKSimon, arsenm

Reviewed By: RKSimon

Subscribers: wdng, tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82210
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/CodeGen/LowLevelType.cpp
The file was modifiedllvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
The file was modifiedllvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp
The file was modifiedllvm/lib/CodeGen/ExpandReductions.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/lib/CodeGen/InterleavedAccessPass.cpp
Commit c92a8c0a0f68fbbb23e3fdde071007e63a552e82 by zequanwu
[LPM] Port CGProfilePass from NPM to LPM

Reviewers: hans, chandlerc!, asbirlea, nikic

Reviewed By: hans, nikic

Subscribers: steven_wu, dexonsmith, nikic, echristo, void, zhizhouy, cfe-commits, aeubanks, MaskRay, jvesely, nhaehnle, hiraditya, kerbowa, llvm-commits

Tags: #llvm, #clang

Differential Revision: https://reviews.llvm.org/D83013
The file was modifiedllvm/test/Instrumentation/cgprofile.ll
The file was modifiedllvm/include/llvm/Transforms/Instrumentation/CGProfile.h
The file was modifiedllvm/include/llvm/Transforms/IPO.h
The file was modifiedllvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
The file was modifiedllvm/test/Other/opt-Os-pipeline.ll
The file was modifiedllvm/lib/Transforms/IPO/PassManagerBuilder.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/test/Other/opt-O2-pipeline.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was removedllvm/test/Other/new-pm-cgprofile.ll
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Instrumentation/CGProfile.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/opt-pipeline.ll
Commit 53e38c85a8a6cdcf7776b936d72fb94ec737dc84 by phosek
[CMake][Fuchsia] Support for building with MSVC

This change adds the necessary flags for building the full Fuchsia
toolchain on Windows with MSVC.

Differential Revision: https://reviews.llvm.org/D73810
The file was modifiedclang/cmake/caches/Fuchsia.cmake
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit caa423eef0d128f35ac11ddbce34964caafb61c1 by lebedev.ri
Revert "[InstCombine] Lower infinite combine loop detection thresholds"

And just after 3 days, we have a hit in `InstCombiner::mergeStoreIntoSuccessor()`:
https://bugs.llvm.org/show_bug.cgi?id=46661

To be recommitted once that is addressed.

This reverts commit cd7f8051ac7b6f08734102446482c1e5d951bfcc.
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 29a9dd5bfe50be9b6aecbe95c6670734e5ee29c5 by lebedev.ri
[Docs] CodingStandards: for_each is discouraged

Summary:
As per disscussion in D83351, using `for_each` is potentially confusing,
at least in regards to inconsistent style (there's less than 100 `for_each`
usages in LLVM, but ~100.000 `for` range-based loops

Therefore, it should be avoided.

Reviewers: dblaikie, nickdesaulniers

Reviewed By: dblaikie, nickdesaulniers

Subscribers: hubert.reinterpretcast, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83431
The file was modifiedllvm/docs/CodingStandards.rst
Commit d8bf5e8048dbd1f726d50b43fa4f8ed4fa9a5178 by lebedev.ri
[NFCI][llvm-reduce] OperandBundleCounter: drop pointless constructor

Reviewers: nickdesaulniers, dblaikie

Reviewed By: nickdesaulniers

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83435
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Commit 6b824415a21c188adfcabbb61ac8cf5d44b8e236 by lebedev.ri
[NFC][llvm-reduce] Purify for_each usage in Operand Bundles into range-based for loop

Summary:
As per lengthy/heated disscussion in D83351,
and CodingStandards D83431.

Reviewers: dblaikie, nickdesaulniers

Reviewed By: nickdesaulniers

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83434
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Commit 03640ee0fa73c6eaf8cb12050203027239136789 by lebedev.ri
[llvm-reduce] Reducing attributes

Summary:
This handles all three places where attributes could currently be - `GlobalVariable`, `Function` and `CallBase`.
For last two, it correctly handles all three possible attribute locations (return value, arguments and function itself)

There was a previous attempt at it D73853,
which was committed in rGfc62b36a000681c01e993242b583c5ec4ab48a3c,
but then reverted all the way back in rGb12176d2aafa0ccb2585aa218fc3b454ba84f2a9
due to some (osx?) test failures.

Reviewers: nickdesaulniers, dblaikie, diegotf, george.burgess.iv, jdoerfert, Tyker, arsenm

Reviewed By: nickdesaulniers

Subscribers: wdng, MaskRay, arsenm, llvm-commits, mgorny

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D83351
The file was addedllvm/test/Reduce/remove-attributes-from-intrinsic-like-functions.ll
The file was addedllvm/test/Reduce/remove-function-attributes.ll
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.h
The file was addedllvm/test/Reduce/remove-attributes-from-intrinsics.ll
The file was addedllvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
The file was addedllvm/tools/llvm-reduce/deltas/ReduceAttributes.h
The file was addedllvm/test/Reduce/remove-call-site-attributes.ll
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
The file was addedllvm/test/Reduce/remove-global-variable-attributes.ll
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt

Summary

  1. [libc++] NFC: Remove unused ability to pass additional Lit features (details)
Commit a5b58cdd800d0d45b1bdd1f7fe058db6acbfd918 by Louis Dionne
[libc++] NFC: Remove unused ability to pass additional Lit features
The file was modifiedzorg/buildbot/builders/LibcxxAndAbiBuilder.py