SuccessChanges

Summary

  1. Update extraRecipients for the Windows LLDB box (details)
  2. [zorg] Remove redundant '\' in AIX buildbot config (details)
Commit 8943c6afa39a3c469e10cde81dd16a737d17da82 by Jonas Devlieghere
Update extraRecipients for the Windows LLDB box
The file was modifiedbuildbot/osuosl/master/config/status.py (diff)
Commit 24f991707240382e20fad07899e76f06b8a33cf8 by Xiangling.Liao
[zorg] Remove redundant '\' in AIX buildbot config

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

Summary

  1. [lldb] Log the actual expression result in UserExpression::Evaluate (details)
  2. Store the calculated constant expression value into the ConstantExpr object (details)
  3. [ARM] Add CostKind to getMVEVectorCostFactor. (details)
  4. [lldb] Don't emit a warning when using Objective-C getters in expressions (details)
  5. [mlir][LLVM] NFC - Refactor a lookupOrCreateFn to reuse common function creation. (details)
  6. [lldb] Fix that running a top level expression without a process fails with a cryptic error (details)
  7. [flang][fir][NFC] Move BoxType to TableGen type definition (details)
  8. [Timer] On macOS count number of executed instructions (details)
  9. BPF: Implement TTI.IntImmCost() properly (details)
  10. Revert "[flang][fir][NFC] Move BoxType to TableGen type definition" (details)
  11. [gn build] Port 7e3b9aba609f (details)
  12. [libc++][format] Add basic_format_parse_context. (details)
Commit e87b8e4498df3bc1fcb751dfa24816ecf1ac02bd by Raphael Isemann
[lldb] Log the actual expression result in UserExpression::Evaluate

This used to be a LLDB_LOGF call that used the printf %s syntax.
0ab109d43d9d8389fe686ee8df4a82634f246b55 changed it to LLDB_LOG but didn't
update this format string to use formatv's syntax so this just printed '%s'.
The file was modifiedlldb/source/Expression/UserExpression.cpp
Commit 059a335ee99e9c50442d8caa35c1b31b5cf47e9c by aaron
Store the calculated constant expression value into the ConstantExpr object

With https://reviews.llvm.org/D63376, we began storing the APValue
directly into the ConstantExpr object so that we could reuse the
calculated value later. However, it missed a case when not in C++11
mode but the expression is known to be constant.
The file was modifiedclang/test/AST/ast-dump-openmp-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-decl.c
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-records.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute.c
The file was modifiedclang/test/AST/ast-dump-openmp-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-ordered.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-teams-distribute.c
The file was modifiedclang/test/AST/ast-dump-c-attr.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-distribute-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-parallel-for-simd.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for.c
The file was modifiedclang/test/AST/ast-dump-decl-json.c
The file was modifiedclang/test/AST/ast-dump-openmp-taskloop-simd.c
Commit b1ef919aada5217b7111433959399b73b3547293 by david.green
[ARM] Add CostKind to getMVEVectorCostFactor.

This adds the CostKind to getMVEVectorCostFactor, so that it can
automatically account for CodeSize costs, where it returns a cost of 1
not the MVEFactor used for Throughput/Latency. This helps simplify the
caller code and allows us to get the codesize cost more correct in more
cases.
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-usat.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/arith-ssat.ll
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast_ldst.ll
Commit 19b4d3ce27d5c8ed19bf08cdceb4c03608d2c66d by Raphael Isemann
[lldb] Don't emit a warning when using Objective-C getters in expressions

Clang emits a warning when accessing an Objective-C getter but not using the result.
This gets triggered when just trying to print a getter value in the expression parser (where
Clang just sees a normal expression like `obj.getter` while parsing).

This patch just disables the warning in the expression parser (similar to what we do with
the C++ equivalent of just accessing a member variable but not doing anything with it).

Reviewed By: kastiglione

Differential Revision: https://reviews.llvm.org/D94307
The file was addedlldb/test/API/lang/objc/warnings-in-expr-parser/main.m
The file was addedlldb/test/API/lang/objc/warnings-in-expr-parser/TestObjCWarningsInExprParser.py
The file was addedlldb/test/API/lang/objc/warnings-in-expr-parser/Makefile
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
Commit e332c22cdf54d16974f445ba4345cd2a76d7fc6a by nicolas.vasilache
[mlir][LLVM] NFC - Refactor a lookupOrCreateFn to reuse common function creation.

Differential revision: https://reviews.llvm.org/D96488
The file was addedmlir/include/mlir/Dialect/LLVMIR/FunctionCallUtils.h
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/CMakeLists.txt
The file was addedmlir/lib/Dialect/LLVMIR/IR/FunctionCallUtils.cpp
Commit 71536fd031084b25ffc9ad0a26c8471a68f5ad7c by Raphael Isemann
[lldb] Fix that running a top level expression without a process fails with a cryptic error

Right now when running `expr --top-level -- void foo() {}`, LLDB just prints a cryptic
`error: Couldn't find $__lldb_expr() in the module` error. The reason for that is
that if we don't have a running process, we try to set our execution policy to always use the
IR interpreter (ExecutionPolicyNever) which works even without a process. However
that code didn't consider the special ExecutionPolicyTopLevel which we use for
top-level expressions. By changing the execution policy to ExecutionPolicyNever,
LLDB thinks we're actually trying to interpret a normal expression inside our
`$__lldb_expr` function and then fails when looking for it.

This just adds an exception for top-level expressions to that code and a bunch of tests.

Reviewed By: shafik

Differential Revision: https://reviews.llvm.org/D91723
The file was modifiedlldb/test/API/lang/cpp/elaborated-types/TestElaboratedTypes.py
The file was modifiedlldb/source/Expression/UserExpression.cpp
The file was modifiedlldb/test/API/commands/expression/static-initializers/TestStaticInitializers.py
The file was modifiedlldb/test/API/commands/expression/top-level/TestTopLevelExprs.py
Commit d96bb48f7874d636ffd0ee233e2d66fff0614b8f by clementval
[flang][fir][NFC] Move BoxType to TableGen type definition

This patch is a follow up of D96422 and move BoxType to TableGen.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D96476
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRTypes.td
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
Commit 7e3b9aba609f7f6c944baa319f0a61041ccdc707 by Raphael Isemann
[Timer] On macOS count number of executed instructions

In addition to wall time etc. this should allow us to get less noisy
values for time measurements.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D96049
The file was modifiedclang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-store-check-profile-one-tu.cpp
The file was modifiedllvm/include/llvm/Support/Timer.h
The file was modifiedllvm/CMakeLists.txt
The file was modifiedllvm/include/llvm/Config/config.h.cmake
The file was modifiedllvm/lib/Support/Timer.cpp
Commit a260ae716030d5d2644a2af649501277d326bb21 by yhs
BPF: Implement TTI.IntImmCost() properly

This patch implemented TTI.IntImmCost() properly.
Each BPF insn has 32bit immediate space, so for any immediate
which can be represented as 32bit signed int, the cost
is technically free. If an int cannot be presented as
a 32bit signed int, a ld_imm64 instruction is needed
and a TCC_Basic is returned.

This change is motivated when we observed that
several bpf selftests failed with latest llvm trunk, e.g.,
  #10/16 strobemeta.o:FAIL
  #10/17 strobemeta_nounroll1.o:FAIL
  #10/18 strobemeta_nounroll2.o:FAIL
  #10/19 strobemeta_subprogs.o:FAIL
  #96 snprintf_btf:FAIL

The reason of the failure is due to that
SpeculateAroundPHIsPass did aggressive transformation
which alters control flow for which currently verifer
cannot handle well. In llvm12, SpeculateAroundPHIsPass
is not called.

SpeculateAroundPHIsPass relied on TTI.getIntImmCost()
and TTI.getIntImmCostInst() for profitability
analysis. This patch implemented TTI.getIntImmCost()
properly for BPF backend which also prevented
transformation which caused the above test failures.

Differential Revision: https://reviews.llvm.org/D96448
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was addedllvm/lib/Target/BPF/BPFTargetTransformInfo.h
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.h
Commit 661f9e2a92302b1c7140528423fdbfc133a68b41 by clementval
Revert "[flang][fir][NFC] Move BoxType to TableGen type definition"

This reverts commit d96bb48f7874d636ffd0ee233e2d66fff0614b8f.
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRTypes.td
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROps.td
The file was modifiedflang/lib/Optimizer/Dialect/FIRType.cpp
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
Commit 1739e7ed69ac5dce486cb9ae3b378254c761f588 by thakis
[gn build] Port 7e3b9aba609f
The file was modifiedllvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Commit 38ddeade65c50343a7f6a0daec57139b07ec7807 by koraq
[libc++][format] Add basic_format_parse_context.

Implements parts of:
- P0645 Text Formatting

Depends on D92214

Reland with changes:
The format header will only be compiled if the compiler used has support
for concepts. This should fix the issues with the initial version.

Differential Revision: https://reviews.llvm.org/D93166
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/advance_to.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/check_arg_id.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/next_arg_id.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/types.compile.pass.cpp
The file was modifiedlibcxx/include/format
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/begin.pass.cpp
The file was modifiedlibcxx/include/__config
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/ctor.pass.cpp
The file was addedlibcxx/test/std/utilities/format/format.formatter/format.parse.ctx/end.pass.cpp