FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. GlobalISel: Start defining strict FP instructions (details)
  2. [Darwin] Add tests for OS version checking (details)
  3. [ObjectYAML][DWARF] Support emitting the .debug_aranges section in ELFYAML. (details)
  4. [ObjectYAML][ELF] Let the endianness of DWARF sections be inferred from FileHeader. (details)
  5. [CUDA][HIP] Fix constexpr variables for C++17 (details)
  6. [gcov] Improve .gcno compatibility with gcov and use DataExtractor (details)
  7. [gcov] Delete XFAIL: host-byteorder-big-endian (details)
  8. Replace integer usage with enumeration. (details)
  9. [Statepoint] Start the process of removing old interfaces (details)
  10. [Statepoint] Delete more dead code from old wrappers (details)
  11. [Statepoint] Remove last of old ImmutableStatepoint code (details)
  12. [gcov] Make `Creating 'filename'` compatible with gcov (details)
  13. [gcov] Don't error 'unexpected end of memory buffe' (details)
  14. [libc][NFC] Add ceil[f], floor[f] and trunc[f] to the spec and config files. (details)
  15. Utility to dump .dot representation of SelectionDAG without firing viewer (details)
  16. [clang] Always allow including builtin headers in [no_undeclared_headers] modules. (details)
  17. [SVE] Fix ubsan issues in DecodeIITType (details)
  18. [VE] Change to use EXTRACT_SUBREG instead of COPY_TO_REGCLASS (details)
  19. [X86] Remove (V)MOVHPDrm patterns that involve bitcast+scalar_to_vec+loadi64. (details)
  20. [Inlining] Introduce -enable-npm-pgo-inline-deferral (details)
  21. [flang] Fix IsConstantExpr for division expressions (details)
  22. [NFCI][CostModel][AMDGPU] Simplify getUserCost (details)
  23. [WebAssembly] Fix gcc warning [NFC] (details)
  24. [Instruction] Remove setProfWeight() (details)
  25. [Support][NFC] Tests for root_name(), root_directory() and root_path() (details)
  26. [lldb] tab completion for `command script delete' (details)
  27. Relands "[YAMLVFSWriter][Test][NFC] Add couple tests" vol. 2 (details)
  28. [lldb][NFC] Address some review feedback for D80775 ('command script delete' completion) (details)
  29. Extend InvokeInst !prof branch_weights metadata to unwind branches (details)
  30. [PowerPC] Require nsz flag for c-a*b to FNMSUB (details)
  31. Make syntax tree test print the line number when it fails (details)
  32. [llvm-readelf] - Do not try to read past the end of the file when dumping the the SHT_GNU_HASH. (details)
  33. [VE] Clean SDNodeXForm stuff (details)
  34. [AMDGPU] Introduce new sched classes for transcendental instructions (details)
  35. [AMDGPU] More accurate gfx10 latencies (details)
  36. [StackSafety,NFC] Remove SCEVRewriteVisitor (details)
  37. [StackSafety] Rename testing opts (details)
  38. [clangd] Fix build for gcc 7.4 (details)
  39. [PowerPC][NFC] Testing ROTL of v1i128. (details)
  40. Revert "[yaml2obj] - Allocate the file space for SHT_NOBITS sections in some cases." (details)
  41. [X86] Add test case for PR46189 (details)
  42. [Sema] Remove unused matrix_begin/end helpers (NFC). (details)
  43. [CSInfo][MIPS] Describe parameter value loaded by ADDiu (details)
  44. [yaml2obj] - Add a way to exclude specified sections from the section header. (details)
  45. Revert "[DAGCombiner] avoid unnecessary indirection from SDNode/SDValue; NFCI" (details)
  46. [DAG] scalarizeBinOpOfSplats - extract from the source of splat vector (PR46189) (details)
  47. [ARM][MachineOutliner] Remove unneeded dynamic allocation. (details)
  48. [FileCheck] Implement equality operators for ExpressionValue. (details)
  49. [ObjectYAML] - Remove unused function. NFC. (details)
  50. [Test] Add test showing missing opportunity of folding ICmp(Phi(Consts...)) (details)
  51. [InstCombine][NFC] Factor out constant check (details)
  52. Add support for IntegerLiteral in SyntaxTree (details)
  53. [gn build] port some -Wno flags for gcc from the cmake build. (details)
  54. [ARM] FP16 conversion tests. NFC (details)
  55. [VP][Fix] canIgnoreVectorLength for scalable types (details)
  56. [PhaseOrdering] add more tests for vector reductions; NFC (details)
  57. [analyzer] Ignore calculated indices of <= 0 in VLASizeChecker (details)
  58. [OpenCL] Add cl_khr_extended_subgroup extensions. (details)
  59. [x86] add FileCheck / assertions to test; NFC (details)
  60. [openmp] Fixed nonmonotonic schedule implementation. (details)
  61. [Support] Use outs() in ToolOutputFile (details)
  62. [gn build] Port 48cd9d9dd86 (details)
  63. [TableGen] Handle (outs variable_ops) (details)
  64. [x86] add test/code comment for chain value use (PR46195); NFC (details)
  65. [OPENMP]Fix PR45383: type dependent array subscripts are diagnosed erroneously. (details)
  66. RegAllocFast: Remove dead code (details)
Commit ed5017e153c76adc13badcfd123c68dd074e75d1 by arsenm2
GlobalISel: Start defining strict FP instructions

The AMDGPU lowering for unconstrained G_FDIV sometimes needs to
introduce a mode switch in the middle, so it's helpful to have
constrained instructions available to legalize this. Right now nothing
is preventing reordering of the mode switch with the other
instructions in the expansion.
The file was modifiedllvm/include/llvm/Target/GenericOpcodes.td
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
The file was modifiedllvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
The file was modifiedllvm/include/llvm/Support/TargetOpcodes.def
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-constrained-fp.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
Commit e9f556526e57270d1f8e148e7f2be8cccf297eb2 by julian.lettner
[Darwin] Add tests for OS version checking

Extract ParseVersion helper function for testing.

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D80761
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
The file was addedcompiler-rt/lib/sanitizer_common/tests/sanitizer_mac_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
Commit a50f4eb2e91bc384fb8956a9637abb7e46e7ec84 by Xing
[ObjectYAML][DWARF] Support emitting the .debug_aranges section in ELFYAML.

This patch enables yaml2obj to emit the .debug_aranges section in ELFYAML.

Known issues:
- The current implementation of `debug_aranges` doesn't support emitting `segment` in the `(segment, address, length)` tuple. I will fix it in a follow-up patch.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D80972
The file was modifiedllvm/lib/ObjectYAML/DWARFYAML.cpp
The file was addedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit b6020c330d3826aa542164842d6ba71fdee3650b by Xing
[ObjectYAML][ELF] Let the endianness of DWARF sections be inferred from FileHeader.

This patch helps infer the endianness of DWARF sections from `FileHeader`.

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D81051
The file was modifiedllvm/test/tools/yaml2obj/ELF/DWARF/debug-aranges.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
Commit 049d860707ef22978b9379fee6dce38c66a22671 by Yaxun.Liu
[CUDA][HIP] Fix constexpr variables for C++17

constexpr variables are compile time constants and implicitly const, therefore
they are safe to emit on both device and host side. Besides, in many cases
they are intended for both device and host, therefore it makes sense
to emit them on both device and host sides if necessary.

In most cases constexpr variables are used as rvalue and the variables
themselves do not need to be emitted. However if their address is taken,
then they need to be emitted.

For C++14, clang is able to handle that since clang emits them with
available_externally linkage together with the initializer.

However for C++17, the constexpr static data member of a class or template class
become inline variables implicitly. Therefore they become definitions with
linkonce_odr or weak_odr linkages. As such, they can not have available_externally
linkage.

This patch fixes that by adding implicit constant attribute to
file scope constexpr variables and constexpr static data members
in device compilation.

Differential Revision: https://reviews.llvm.org/D79237
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/CodeGenCUDA/constexpr-variables.cu
The file was addedclang/test/SemaCUDA/constexpr-variables.cu
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
Commit 01899bb4e41178af6f4cf7b32833e661fe1e3322 by maskray
[gcov] Improve .gcno compatibility with gcov and use DataExtractor

llvm-cov.test and many Inputs/test* files contain wrong tests.
This patch rewrites a large portion of these files.
The pre-canned .gcno & .gcda are replaced by binaries produced by
clang --coverage (compatible with gcov 4.8~7)
(after some GCDAProfiling.c bugs were fixed by my previous commits).

Also make llvm-cov gcov on a little-endian host capable to parse big-endian .gcno and .gcda,
and make llvm-cov gcov on big-endian host capable to parse little-endian .gcno and .gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/copy_block_helper.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_objdir.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-f.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_output.output
The file was modifiedllvm/test/tools/llvm-cov/llvm-cov.test
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_-b.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test.gcda
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-u.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_preserve_paths.output
The file was modifiedllvm/include/llvm/ProfileData/GCOV.h
The file was removedllvm/test/tools/llvm-cov/range_based_for.cpp
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
The file was removedllvm/test/tools/llvm-cov/Inputs/copy_block_helper.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-c_-u.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_missing.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test.h
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_objdir.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-u.cpp.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b_-c_-u.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a_-b.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_long_paths.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_options.h.gcov
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_paths.gcda
The file was removedllvm/test/tools/llvm-cov/Inputs/test_long_file_names.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test.gcno
The file was removedllvm/test/tools/llvm-cov/copy_block_helper.m
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-a.h.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_missing.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.output
The file was modifiedllvm/test/tools/llvm-cov/Inputs/test_paths.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test_missing.h.gcov
Commit c1ea672ddb919c50118f4031845af6bb9be95454 by maskray
[gcov] Delete XFAIL: host-byteorder-big-endian

Add two to function-numbering.ll and exit-block.ll
The file was modifiedllvm/test/Transforms/SampleProfile/indirect-call-gcc.ll
The file was modifiedllvm/test/Transforms/SampleProfile/gcc-simple.ll
The file was modifiedllvm/test/tools/llvm-cov/gcov-4.7.c
The file was modifiedllvm/test/Transforms/GCOVProfiling/exit-block.ll
The file was modifiedllvm/test/tools/llvm-cov/gcov-9.c
The file was modifiedllvm/test/tools/llvm-profdata/gcc-gcov-sample-profile.test
The file was modifiedllvm/test/Transforms/GCOVProfiling/function-numbering.ll
The file was modifiedllvm/test/tools/llvm-cov/gcov-8.c
Commit 8c9badf61d418dad3c5e3f74f9e677cfbce9c2eb by echristo
Replace integer usage with enumeration.
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Commit b9983c18fc3e42e5824a7e37a01f57120a64c018 by listmail
[Statepoint] Start the process of removing old interfaces

We introduced the GCStatepointInst class and have migrated almost all users of Statepoint/ImmutableStatepoint to the new API.  Given downstream consumers have had a week to migrate, remove code which is now dead.
The file was modifiedllvm/lib/IR/Statepoint.cpp
The file was modifiedllvm/include/llvm/IR/Statepoint.h
Commit 91dd2f2536474df92b92250e1eb2ee9c30ffeb9a by listmail
[Statepoint] Delete more dead code from old wrappers

The verify() routine duplicates IR/Verifier.cpp checks, so while not technically dead it doesn't add any value either.
The file was modifiedllvm/include/llvm/IR/Statepoint.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit ab6779bbd8f895153c4409e8f2c0ff26f33e1404 by listmail
[Statepoint] Remove last of old ImmutableStatepoint code

To do so, I had to sink the old school inline operand handling into GCStatepointInst which is non ideal.  This code should be removed shortly and I was able to at least clean it up a bunch.
The file was modifiedllvm/include/llvm/IR/Statepoint.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 904b971aaca3af7b4cd7fb414da508690e37f6a7 by maskray
[gcov] Make `Creating 'filename'` compatible with gcov

And clean up llvm-cov.test a bit
The file was removedllvm/test/tools/llvm-cov/Inputs/test_paths.h.gcov
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
The file was modifiedllvm/test/tools/llvm-cov/gcov-8.c
The file was removedllvm/test/tools/llvm-cov/Inputs/test_exit_block_arcs.gcno
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_preserve_paths.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-b_-f.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_options.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_paths.cpp.gcov
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-b.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_exit_block_arcs.gcda
The file was modifiedllvm/test/tools/llvm-cov/gcov-9.c
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_output.output
The file was modifiedllvm/test/tools/llvm-cov/llvm-cov.test
The file was modifiedllvm/test/tools/llvm-cov/gcov-4.7.c
The file was removedllvm/test/tools/llvm-cov/Inputs/test_hash.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_no_gcda.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_preserve_paths.output
The file was removedllvm/test/tools/llvm-cov/Inputs/test_-f.output
Commit 1a2d4bf34e19eec9563e871a102d1f9a5c183daa by maskray
[gcov] Don't error 'unexpected end of memory buffe'
The file was modifiedllvm/test/tools/llvm-cov/llvm-cov.test
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
Commit b28167928d2722e8774da3fce8b3307a0fa27245 by sivachandra
[libc][NFC] Add ceil[f], floor[f] and trunc[f] to the spec and config files.
The file was modifiedlibc/config/linux/api.td
The file was modifiedlibc/config/linux/x86_64/entrypoints.txt
The file was modifiedlibc/spec/stdc.td
Commit b3cff3c72092e40df12a55535a4d0d10cd1d62ce by sameer.sahasrabuddhe
Utility to dump .dot representation of SelectionDAG without firing viewer

Summary:
This patch adds support for dumping .dot
representation of SelectionDAG. It is inspired from the fact that,
a developer may want to just dump the graph at
a predictable path with a simple name to compare.
The exisitng utility (i.e. viewGraph) are overkill
for this motive hence this patch adds the requires support
while using the core routines from GraphWriter.

Example usage: DAG.dumpDotGraph("/tmp/graph.dot", "MyGraph")
will create /tmp/graph.dot file when DAG is an
object of SelectionDAG class.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D80711
The file was modifiedllvm/include/llvm/Support/GraphWriter.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
Commit 8d74de9de6d6cca552d7de7d0bfd36b6dd7d58dc by mboehme
[clang] Always allow including builtin headers in [no_undeclared_headers] modules.

Previously, this would fail if the builtin headers had been "claimed" by
a different module that wraps these builtin headers. libc++ does this,
for example.

This change adds a test demonstrating this situation; the test fails
without the fix.
The file was modifiedclang/lib/Lex/HeaderSearch.cpp
The file was addedclang/test/Modules/Inputs/no-undeclared-includes-builtins/glibc/stdio.h
The file was addedclang/test/Modules/Inputs/no-undeclared-includes-builtins/glibc/module.modulemap
The file was addedclang/test/Modules/no-undeclared-includes-builtins.cpp
The file was addedclang/test/Modules/Inputs/no-undeclared-includes-builtins/libcxx/module.modulemap
The file was modifiedclang/include/clang/Lex/ModuleMap.h
The file was modifiedclang/lib/Lex/ModuleMap.cpp
The file was addedclang/test/Modules/Inputs/no-undeclared-includes-builtins/libcxx/stdio.h
The file was addedclang/test/Modules/Inputs/no-undeclared-includes-builtins/libcxx/stddef.h
Commit a3e3986be122bd1cdebe7f7f69c3d1c4c22c4690 by david.sherwood
[SVE] Fix ubsan issues in DecodeIITType

In an earlier patch I removed the need for
IITDescriptor::ScalableVecArgument, which involved changing
DecodeIITType to pull out the last IIT_Info from the list. However,
it turns out this is unsafe and causes ubsan failures. I've tried to
fix this a different way by simply passing the last IIT_Info as an
additional argument to DecodeIITType.

Differential Revision: https://reviews.llvm.org/D81057
The file was modifiedllvm/lib/IR/Function.cpp
Commit 6b461ba4590f531cf3aafca8a1a4bfa896f5e5c8 by simon.moll
[VE] Change to use EXTRACT_SUBREG instead of COPY_TO_REGCLASS

Summary:
Change to use EXTRACT_SUBREG instead of COPY_TO_REGCLASS in order to
remove unnecessary copy instructions.

Differential Revision: https://reviews.llvm.org/D81129
The file was modifiedllvm/test/CodeGen/VE/va_caller.ll
The file was modifiedllvm/test/CodeGen/VE/setccf32i.ll
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/test/CodeGen/VE/fp_to_int.ll
The file was modifiedllvm/test/CodeGen/VE/fp_div.ll
The file was modifiedllvm/test/CodeGen/VE/cast.ll
The file was modifiedllvm/test/CodeGen/VE/fp_mul.ll
The file was modifiedllvm/test/CodeGen/VE/fp_add.ll
The file was modifiedllvm/test/CodeGen/VE/fp_sub.ll
The file was modifiedllvm/test/CodeGen/VE/call.ll
The file was modifiedllvm/test/CodeGen/VE/selectccf32i.ll
The file was modifiedllvm/test/CodeGen/VE/constants.ll
Commit 7eff1a7136049fd38d779f52f905f88181b03679 by craig.topper
[X86] Remove (V)MOVHPDrm patterns that involve bitcast+scalar_to_vec+loadi64.

I think these are left over from when we used to type legalize
v2f32 loads using bitcast+scalar_to_vec+loadi64 on 64-bit targets.
These days we use loadf64. If this becomes a problem a better
solution would be a DAG combine to turn it into scalar_to_vec+loadf64.
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
Commit 347a599e5f03ab708943559d0a131127b206b576 by kazu
[Inlining] Introduce -enable-npm-pgo-inline-deferral

Summary:
Experiments show that inline deferral past pre-inlining slightly
pessimizes the performance.

This patch introduces an option to control inline deferral during PGO.
The option defaults to true for now (that is, NFC).

Reviewers: davidxl

Reviewed By: davidxl

Subscribers: eraman, hiraditya, haicheng, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80776
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Analysis/InlineAdvisor.h
The file was modifiedllvm/include/llvm/Analysis/InlineCost.h
The file was modifiedllvm/lib/Analysis/InlineAdvisor.cpp
Commit 62b127eef6b37a57a647050b0e123f6ac928215f by jperier
[flang] Fix IsConstantExpr for division expressions

Summary:
Fortran::evaluate::IsConstantExpr did not check that the numerator
was a constant expression. This patch fixes the issue.

Reviewers: DavidTruby, klausler, schweitz, PeteSteinfeld, jdoerfert, sscalpone

Reviewed By: klausler, PeteSteinfeld, sscalpone

Subscribers: llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D81096
The file was modifiedflang/test/Semantics/resolve37.f90
The file was modifiedflang/lib/Evaluate/check-expression.cpp
Commit 6f24ebc4badfebce72b6bf06a4dae82ac409da35 by sam.parker
[NFCI][CostModel][AMDGPU] Simplify getUserCost

Casts and intrinsics are now handled by the default implementation
of getUserCost, so remove them from the backends switch statement.

https://reviews.llvm.org/D80994
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Commit 2f671c42254dfbc67dfbeb3d4cc51909b1cef836 by mikael.holmen
[WebAssembly] Fix gcc warning [NFC]

gcc 7.4 complained with
../lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp:125:23: warning: extra ';' [-Wpedantic]
                 false);
                       ^
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFixBrTableDefaults.cpp
Commit 417bcb8827671da271e5b745ad189e2ba978f776 by yrouban
[Instruction] Remove setProfWeight()

Remove the function Instruction::setProfWeight() and make
use of Instruction::copyMetadata(.., {LLVMContext::MD_prof}).
This is correct for all use cases of setProfWeight() as it
is applied to CallBase instructions only.
This change results in prof metadata copied intact even if
the source has "VP". The old pair of calls
extractProfTotalWeight() + setProfWeight() resulted in
setting branch_weights if the source had "VP" data.

Reviewers: yamauchi, davidxl
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D80987
The file was modifiedllvm/include/llvm/IR/Instruction.h
The file was modifiedllvm/test/Transforms/InstCombine/cast-call-combine-prof.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/IPO/ArgumentPromotion.cpp
The file was modifiedllvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
The file was modifiedllvm/lib/IR/Instruction.cpp
Commit 0c1b88ec21926d79f28759d16a9386e0d7dc8a07 by Jan Korous
[Support][NFC] Tests for root_name(), root_directory() and root_path()

It's literally just doc comments converted to unittests.
The file was modifiedllvm/unittests/Support/Path.cpp
Commit 2e8f304f5ea5f7b2bd4f5689eae23d4399cd5120 by Raphael Isemann
[lldb] tab completion for `command script delete'

Summary: Added the tab completion for `command script delete`.

Reviewers: teemperor, JDevlieghere

Reviewed By: teemperor

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D80775
The file was modifiedlldb/source/Commands/CommandObjectCommands.cpp
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
The file was modifiedlldb/include/lldb/Interpreter/CommandInterpreter.h
Commit 30949926f98576fbff8d5ad0390be5124ffacd7e by Jan Korous
Relands "[YAMLVFSWriter][Test][NFC] Add couple tests" vol. 2

This reverts commit e4e3e41905d182c0f3d5b0b9406e3cbf2aabb30f.

Fixed dangling StringRef in test.
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
Commit 2ebe30c6e4ab1d65fc8605051eb528fc26ffc621 by Raphael Isemann
[lldb][NFC] Address some review feedback for D80775 ('command script delete' completion)

In the similar review D81128, Jonas pointed out some style errors that also
apply to D80775 (which is already committed). Also applying the changes
suggested there to this code.
The file was modifiedlldb/source/Commands/CommandObjectCommands.cpp
Commit dcfa78a4ccec9772d9ff7fea536f81717cf30b24 by yrouban
Extend InvokeInst !prof branch_weights metadata to unwind branches

Allow InvokeInst to have the second optional prof branch weight for
its unwind branch. InvokeInst is a terminator with two successors.
It might have its unwind branch taken many times. If so
the BranchProbabilityInfo unwind branch heuristic can be inaccurate.
This patch allows a higher accuracy calculated with both branch
weights set.

Changes:
- A new section about InvokeInst is added to
   the BranchWeightMetadata page. It states the old information that
   missed in the doc and adds new about the second branch weight.
- Verifier is changed to allow either 1 or 2 branch weights
   for InvokeInst.
- A new test is written for BranchProbabilityInfo to demonstrate
   the main improvement of the simple fix in calcMetadataWeights().
- Several new testcases are created for Inliner. Those check that
    both weights are accounted for invoke instruction weight
    calculation.
- PGOUseFunc::setBranchWeights() is fixed to be applicable to
   InvokeInst.

Reviewers: davidxl, reames, xur, yamauchi
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D80618
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/Analysis/BranchProbabilityInfo.cpp
The file was modifiedllvm/docs/BranchWeightMetadata.rst
The file was modifiedllvm/test/Transforms/Inline/inline-hot-callsite.ll
The file was modifiedllvm/test/Analysis/BranchProbabilityInfo/basic.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
Commit 7a001a2d92a777de196eaaa070a4bfc23f40fd87 by qiucofan
[PowerPC] Require nsz flag for c-a*b to FNMSUB

On PowerPC, FNMSUB (both VSX and non-VSX version) means -(a*b-c). But
the backend used to generate these instructions regardless whether nsz
flag exists or not. If a*b-c==0, such transformation changes sign of
zero.

This patch introduces PPC specific FNMSUB ISD opcode, which may help
improving combined FMA code sequence.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D76585
The file was modifiedllvm/test/CodeGen/PowerPC/f128-fma.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-ext.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-negate.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/test/CodeGen/PowerPC/fdiv.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/fma.ll
The file was modifiedllvm/test/CodeGen/PowerPC/repeated-fp-divisors.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-combine.ll
The file was modifiedllvm/test/CodeGen/PowerPC/combine-fneg.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fma-assoc.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/fma-precision.ll
The file was modifiedllvm/test/CodeGen/PowerPC/recipest.ll
Commit 06cf7adcc88178f887984fa74cdefb20cd8cd124 by gribozavr
Make syntax tree test print the line number when it fails

Summary:
The syntax tree test uses a helper function that executes all testing
assertions. When an assertion fails, the only line number that gets
printed to the log refers to the helper function. After this change, we
would also get the line number of the EXPECT_TRUE macro invocation
(unfortunately, the line number of the last token of it, not the first
one, but there's not much I can do about it).

Reviewers: hlopko, eduucaldas

Reviewed By: hlopko, eduucaldas

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81107
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit 2ad0ef6ef19dd1678e05b6d219ea0fdd4853bb64 by grimar
[llvm-readelf] - Do not try to read past the end of the file when dumping the the SHT_GNU_HASH.

We have unobvious issue in the condition that is used to check
that we do not read past the EOF.

The problem is that the result of "GnuHashTable->nbuckets * 4" expression is uint32.
Because of that it was still possible to overflow it and pass the check.

There was no such problem with the "GnuHashTable->maskwords * sizeof(typename ELFT::Off)"
condition, because of `sizeof` on the right (which gives 64-bits value on x64),
but I've added an explicit conversion to 64-bit value for `GnuHashTable->maskwords` too.

Differential revision: https://reviews.llvm.org/D81103
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-histogram.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 52ed34deebb737738bed08403ee0f37b66ba80e4 by simon.moll
[VE] Clean SDNodeXForm stuff

Summary:
Gather definitions of SDNodeXForm and change them to call C functions
instead of copying C expressions in td files.  Doing this solved some
bugs in mimm detections.

Differential Revision: https://reviews.llvm.org/D81132
The file was modifiedllvm/test/CodeGen/VE/fp_mul.ll
The file was modifiedllvm/test/CodeGen/VE/addition.ll
The file was modifiedllvm/lib/Target/VE/VEISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/VE/VE.h
The file was modifiedllvm/test/CodeGen/VE/subtraction.ll
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
Commit 9ce0f7eed65d5ab6b8e002b06bc3d2d343c836bb by jay.foad
[AMDGPU] Introduce new sched classes for transcendental instructions

This is in preparation for scheduling them slightly differently on
gfx10. NFC.

Differential Revision: https://reviews.llvm.org/D81011
The file was modifiedllvm/lib/Target/AMDGPU/SISchedule.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
Commit 590964c8353e580a65c21664286a2d3eefbc361c by jay.foad
[AMDGPU] More accurate gfx10 latencies

Differential Revision: https://reviews.llvm.org/D81012
The file was modifiedllvm/test/CodeGen/AMDGPU/scheduler-handle-move-bundle.mir
The file was modifiedllvm/lib/Target/AMDGPU/SISchedule.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cc-update.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.ltolz.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4u.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/image-load-d16-tfe.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.2darraymsaa.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.sdot4.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.load.3d.a16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.setreg.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.udot4.ll
Commit 81826c7ac6272ce9c6fae132cbf4b59bb4d8fa7e by Vitaly Buka
[StackSafety,NFC] Remove SCEVRewriteVisitor

Summary: Depends on D80956.

Reviewers: eugenis

Reviewed By: eugenis

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D80976
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit af6e054730ada473a7f22fad8c165b3b86f5296d by Vitaly Buka
[StackSafety] Rename testing opts
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
Commit 4f4a8ae72e95f2c7fa5e4ca56dd6b1a83a304680 by kadircet
[clangd] Fix build for gcc 7.4
The file was modifiedclang-tools-extra/clangd/CodeComplete.cpp
Commit 1b6cccba3ec1ab97688c8e0c1da3f8a5a7fa4d17 by esme.yi
[PowerPC][NFC] Testing ROTL of v1i128.

Summary: A bug is reported in bugzilla-45628, where the swap_with_shift case can’t be matched to a single HW instruction xxswapd as expected. In fact the case matches the idiom of rotate, but PPC doesn’t support ROTL v1i128.
This is a NFC patch for testing ROTL with v1i128 at master.

Reviewed By: steven.zhang

Differential Revision: https://reviews.llvm.org/D81073
The file was addedllvm/test/CodeGen/PowerPC/pr45628.ll
Commit 5750f12b823448e3bb9f1fd6d896eab58d52df5b by grimar
Revert "[yaml2obj] - Allocate the file space for SHT_NOBITS sections in some cases."

This reverts commit aa3a85cdaa4432ca389bdbf48049eaa64dc6e266.

There are problems with it. See here: https://reviews.llvm.org/D80629
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents.test
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/program-header-nobits.yaml
Commit b0c7d6bfdbde1a963047d7f32a3cb4b7f4902082 by llvm-dev
[X86] Add test case for PR46189
The file was addedllvm/test/CodeGen/X86/pr46189.ll
Commit a7c6bec228ca28e9eee77433292ac86d77b67790 by flo
[Sema] Remove unused matrix_begin/end helpers (NFC).

The matrix_types() helper returning an iterator range is used instead.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit 7fbbc82057c975777305fc9b8ef8c2bc729b3daf by djordje.todorovic
[CSInfo][MIPS] Describe parameter value loaded by ADDiu

Describe parameter's value loaded by MIPS ADDiu instruction.
When parameter's value is loaded into a register by mips ADDiu/DADDiu
instruction, it could be described correctly and emitted as
DW_AT_GNU_call_site_value.

Patch by Nikola Tesic

Differential revision: https://reviews.llvm.org/D78108
The file was modifiedllvm/lib/Target/Mips/MipsInstrInfo.h
The file was modifiedllvm/lib/Target/Mips/MipsInstrInfo.cpp
The file was addedllvm/test/DebugInfo/MIR/Mips/dbg-call-site-param-addiu-64bit.mir
The file was addedllvm/test/DebugInfo/MIR/Mips/dbg-call-site-param-addiu.mir
Commit c781e7370e9b408f27996175fcf07b02905e6db4 by grimar
[yaml2obj] - Add a way to exclude specified sections from the section header.

This implements a new "Excluded" key that can be used
to exclude entries from section header:

```
SectionHeaderTable:
  Sections:
    ...
  Excluded:
    - Name: .foo
```

Differential revision: https://reviews.llvm.org/D81005
The file was addedllvm/test/tools/yaml2obj/ELF/section-headers-exclude.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/test/tools/yaml2obj/ELF/section-headers.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 87e24c3200895ac086d83b780c90ce85669e7df1 by Tim Northover
Revert "[DAGCombiner] avoid unnecessary indirection from SDNode/SDValue; NFCI"

This reverts commit 21dadd774f56778ef68c1ce307205dfbdacc793a.

In at least PromoteIntBinOps, they wanted to know about users of *all* values
produced by the node not just the integer being promoted. For example not
replacing chain users if the operation was a load breaks the ordering of the
DAG.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit adf10dcf2e8dd04fd50fd976b9dc7e25ff0bba3b by llvm-dev
[DAG] scalarizeBinOpOfSplats - extract from the source of splat vector (PR46189)

D79003/rG9fa58d1bf2f8 exposed an issue with scalarizeBinOpOfSplats that we were extracting from the splatted vector result instead of the source, the splat index is only valid for the source vector not the result, which may contain undefs, including at the splat index.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/pr46189.ll
Commit 6b9e1022436336b4ee7fa425f641f1cdcbd8f839 by yvan.roux
[ARM][MachineOutliner] Remove unneeded dynamic allocation.
The file was modifiedllvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
Commit ed9df8621a85329d9cb607e982a6efb2d9c670f5 by paul.walker
[FileCheck] Implement equality operators for ExpressionValue.

Subscribers: hiraditya, thopre, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81094
The file was modifiedllvm/lib/Support/FileCheckImpl.h
The file was modifiedllvm/unittests/Support/FileCheckTest.cpp
Commit 9d739a915730493d3578ad73df4e86e841a0c08b by grimar
[ObjectYAML] - Remove unused function. NFC.

Was introduced in D81005 by mistake.

Catched by BB:
http://lab.llvm.org:8011/builders/clang-ppc64le-rhel/builds/4070/steps/build%20stage%201/logs/stdio
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
Commit 18134511d93046b7cde5c3cb9d5e356bd8e06b00 by mkazantsev
[Test] Add test showing missing opportunity of folding ICmp(Phi(Consts...))
The file was addedllvm/test/Transforms/InstCombine/icmp-constant-phi.ll
Commit 9bdb91889020b3e61cba26adb1b9c64a24c09f95 by mkazantsev
[InstCombine][NFC] Factor out constant check

We plan to add more transforms here. Besides, this check should be
done in the beginning just from function's name.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 3b739690b01e595f6da412316b58a0a291702049 by gribozavr
Add support for IntegerLiteral in SyntaxTree

Reviewers: gribozavr2

Reviewed By: gribozavr2

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D81135
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
The file was modifiedclang/lib/Tooling/Syntax/Nodes.cpp
The file was modifiedclang/include/clang/Tooling/Syntax/Nodes.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
Commit 3871ad366b11710afc0f8c1397ec6ffc4be64736 by thakis
[gn build] port some -Wno flags for gcc from the cmake build.
The file was modifiedllvm/utils/gn/build/BUILD.gn
Commit 7d4ebc98afac1e8f749644589eae6b26ddd68811 by david.green
[ARM] FP16 conversion tests. NFC
The file was addedllvm/test/CodeGen/Thumb2/mve-fp16convertloops.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-shuffleext.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vcvt16.ll
Commit a0dfdda4e5e8c3f33ccc80f289374a60943cb7c3 by simon.moll
[VP][Fix] canIgnoreVectorLength for scalable types

This patch fixes VPIntrinsic::canIgnoreVectorLength when used on a
VPIntrinsic with scalable vector types. Also includes new unittest cases
for the '<vscale x 1 x whatever>' and '%evl == vscale' corner cases.
The file was modifiedllvm/lib/IR/IntrinsicInst.cpp
The file was modifiedllvm/unittests/IR/VPIntrinsicTest.cpp
Commit ecbf34c0e480654206330e53d8a103e824329083 by spatel
[PhaseOrdering] add more tests for vector reductions; NFC

More coverage for D80867.
The file was addedllvm/test/Transforms/PhaseOrdering/X86/vector-reductions-expanded.ll
Commit bd425825411af1b340134b0e8c9c03733ee87d66 by vince.a.bridgers
[analyzer] Ignore calculated indices of <= 0 in VLASizeChecker

Summary:
See https://bugs.llvm.org/show_bug.cgi?id=46128. The checker does not
yet comprehend constraints involving multiple symbols, so it's possible
to calculate a VLA size that's negative or 0. A LIT is added to catch
regressions, and this change simply bails if a VLA size of 0 or less is
calculated.

Reviewers: balazske, NoQ, martong, baloghadamsoftware, Szelethus, gamesh411

Reviewed By: balazske, NoQ, Szelethus

Subscribers: xazax.hun, szepet, rnkovacs, a.sidorin, mikhail.ramalho, donat.nagy, Charusso, ASDenysPetrov, cfe-commits, dkrupp

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80903
The file was modifiedclang/test/Analysis/vla.c
The file was modifiedclang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
Commit 4a4402f0d72167477a6252e4c3daf5089ebc8f9a by anastasia.stulova
[OpenCL] Add cl_khr_extended_subgroup extensions.

Added extensions and their function declarations into
the standard header.

Patch by Piotr Fusik!

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79781
The file was modifiedclang/lib/Headers/opencl-c.h
The file was modifiedclang/include/clang/Basic/OpenCLExtensions.def
The file was modifiedclang/test/SemaOpenCL/extension-version.cl
Commit de38e882bb6510e8bf1685f474cd52adb4d145e5 by spatel
[x86] add FileCheck / assertions to test; NFC
The file was modifiedllvm/test/CodeGen/X86/membarrier.ll
Commit abe64360ae133e9b07c0a39cc54d09bd5fcb86f9 by Andrey.Churbanov
[openmp] Fixed nonmonotonic schedule implementation.

Differential Revision: https://reviews.llvm.org/D80942
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_dispatch.h
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
The file was addedopenmp/runtime/test/worksharing/for/omp_nonmonotonic_nowait.c
Commit 48cd9d9dd86c2c37e6c47cbb23c06d36a1870b83 by pavel
[Support] Use outs() in ToolOutputFile

Summary:
If the output filename was specified as "-", the ToolOutputFile class
would create a brand new raw_ostream object referring to the stdout.
This patch changes it to reuse the llvm::outs() singleton.

At the moment, this change should be "NFC", but it does enable other
enhancements, like the automatic stdout/stderr synchronization as
discussed on D80803.

I've checked the history, and I did not find any indication that this
class *has* to use a brand new stream object instead of outs() --
indeed, it is special-casing "-" in a number of places already, so this
change fits the pattern pretty well. I suspect the main reason for the
current state of affairs is that the class was originally introduced
(r111595, in 2010) as a raw_fd_ostream subclass, which made any other
solution impossible.

Another potential benefit of this patch is that it makes it possible to
move the raw_ostream class out of the business of special-casing "-" for
stdout handling. That state of affairs does not seem appropriate because
"-" is a valid filename (albeit hard to access with a lot of command
line tools) on most systems. Handling "-" in ToolOutputFile seems more
appropriate.

To make this possible, this patch changes the return type of
llvm::outs() and errs() to raw_fd_ostream&. Previously the functions
were constructing objects of that type, but returning a generic
raw_ostream reference. This makes it possible for new ToolOutputFile and
other code to use raw_fd_ostream methods like error() on the outs()
object. This does not seem like a bad thing (since stdout is a file
descriptor which can be redirected to anywhere, it makes sense to ask it
whether the writing was successful or if it supports seeking), and
indeed a lot of code was already depending on this fact via the
ToolOutputFile "back door".

Reviewers: dblaikie, JDevlieghere, MaskRay, jhenderson

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D81078
The file was modifiedllvm/include/llvm/Support/raw_ostream.h
The file was addedllvm/unittests/Support/ToolOutputFileTest.cpp
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedllvm/lib/Support/raw_ostream.cpp
The file was modifiedllvm/lib/Support/ToolOutputFile.cpp
The file was modifiedllvm/include/llvm/Support/ToolOutputFile.h
The file was modifiedllvm/unittests/Support/CMakeLists.txt
Commit 8ccb9f98ea98d0a5db179c10431fc25b9a20a1c6 by llvmgnsyncbot
[gn build] Port 48cd9d9dd86
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Commit f2c97656644e783622a6e60fe452b41ffe0f1d18 by dantrushin
[TableGen] Handle (outs variable_ops)

When `variable_ops` is specified in `InOperandList` of instruction,
it behaves as expected, i.e., does not count as operand.
So for `(ins variable_ops)` instruction description will have 0
operands.  However when used in OutOperandList it is counted as
operand. So `(outs variable_ops)` results in instruction with
one def.
This patch makes behavior of `variable_ops` in `out` list to match
that of `in` list.

Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D81095
The file was modifiedllvm/utils/TableGen/CodeGenInstruction.cpp
Commit 652b3757c848770885c1dc8f55292b427de1efa2 by spatel
[x86] add test/code comment for chain value use (PR46195); NFC
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was addedllvm/test/CodeGen/X86/load-chain.ll
Commit 3c191ae555cce6896f40b75ca031eadf675c5fb8 by a.bataev
[OPENMP]Fix PR45383: type dependent array subscripts are diagnosed erroneously.

Summary:
If the array subscript expression is type depent, its analysis must be
delayed before its instantiation.

Reviewers: jdoerfert

Subscribers: yaxunl, guansong, caomhin, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D78637
The file was modifiedclang/test/OpenMP/task_ast_print.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 931a68f26b9a3de853807ffad7b2cd0a2dd30922 by Matthew.Arsenault
RegAllocFast: Remove dead code
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp