SuccessChanges

Summary

  1. PR44514: Fix recovery from noexcept with non-convertible expressions (details)
  2. [mlir] Remove unnecessary assert for single region. (details)
  3. Revert "[DWARF5][DebugInfo]: Added support for DebugInfo generation for (details)
  4. [clang][IFS][test] Fixing mangled name of a test for Darwin. (details)
  5. [PGO][CHR] Guard against 0-to-0 branch weight and avoid division by zero (details)
  6. [lldb-server] Prefer target_include_directories (details)
  7. [mlir] Update the use-list algorithms in SymbolTable to support nested (details)
  8. [mlir] Update the CallGraph for nested symbol references, and simplify (details)
  9. [DebugInfo] Add another level to DebugInfoKind called Constructor (details)
  10. [mlir] Add support for attaching a visibility to symbols. (details)
  11. [mlir] NFC: Remove unused variable. (details)
  12. Re-enable testing of .s tests under test/CodeGen/X86. (details)
  13. [GlobalISel] Change representation of shuffle masks in MachineOperand. (details)
  14. [llvm-exegesis] Initialize const bitvector member (details)
  15. [LanguageRuntime] Retire an unused member function. NFCI. (details)
  16. try to fix InterfaceStubs/lambda.cpp on Windows after bd8c8827d96f0 (details)
  17. [lldb/Utility] Add std::move to make placate clang 3.8 (details)
  18. [mlir] [VectorOps] fixed typo in verifier of slice op (details)
  19. [clang] [test] Fix riscv-toolchain-extra to be less picky about paths (details)
Commit f0719bf2196c807351137ff30e39fd12aa5aa884 by erich.keane
PR44514: Fix recovery from noexcept with non-convertible expressions
We currently treat noexcept(not-convertible-to-bool) as 'none', which
results in the typeloc info being a different size, and causing an
assert later on in the process.  In order to make recovery less
destructive, replace this with noexcept(false) and a constructed 'false'
expression.
Bug Report: https://bugs.llvm.org/show_bug.cgi?id=44514
Differential Revision: https://reviews.llvm.org/D72621
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp (diff)
The file was modifiedclang/test/SemaCXX/cxx0x-noexcept-expression.cpp (diff)
Commit cb89c7e3f744c1fede60f7d1c43528654de676bd by riverriddle
[mlir] Remove unnecessary assert for single region.
This was left over debugging.
The file was modifiedmlir/lib/Transforms/Utils/RegionUtils.cpp (diff)
Commit 328e0f3dcac52171b8cdedeaba22c98e7fbb75ea by akhuang
Revert "[DWARF5][DebugInfo]: Added support for DebugInfo generation for
auto return type for C++ member functions."
This reverts commit c958639098a8702b831952b1a1a677ae19190a55, which
causes a crash. See https://reviews.llvm.org/D70524 for details.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp (diff)
The file was removedllvm/test/DebugInfo/X86/debug-info-auto-return.ll
Commit a506f7f9105eec4baac296d21c922457d6f4b52a by puyan
[clang][IFS][test] Fixing mangled name of a test for Darwin.
Darwin adds an extra '_' before every C/global function mangled name and
because of this, this test was breaking on Darwin.
This is a fix for commit: https://reviews.llvm.org/D71301
The file was modifiedclang/test/InterfaceStubs/lambda.cpp (diff)
Commit 7b9f8e17d15d7516b186c0a85de71133b780f939 by yamauchi
[PGO][CHR] Guard against 0-to-0 branch weight and avoid division by zero
crash.
Summary: This fixes a crash in internal builds under SamplePGO.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72653
The file was modifiedllvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp (diff)
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll (diff)
Commit 6d57511e0b6f95a369efe7274923a36de3489e7b by apl
[lldb-server] Prefer target_include_directories
In the documentation of `include_directories`, it notes that
`target_include_directories` is preferred because it affects specific
targets intead of propagating include search paths to the entire
project.
The file was modifiedlldb/tools/lldb-server/CMakeLists.txt (diff)
Commit 6fca03f0cae77c275870c4569bfeeb7ca0f561a6 by riverriddle
[mlir] Update the use-list algorithms in SymbolTable to support nested
references.
Summary: This updates the use list algorithms to support querying from a
specific symbol, allowing for the collection and detection of nested
references. This works by walking the parent "symbol scopes" and
applying the existing algorithm at each level.
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D72042
The file was modifiedmlir/lib/IR/SymbolTable.cpp (diff)
The file was modifiedmlir/test/lib/IR/TestSymbolUses.cpp (diff)
The file was modifiedmlir/include/mlir/IR/SymbolTable.h (diff)
The file was modifiedmlir/test/IR/test-symbol-rauw.mlir (diff)
The file was modifiedmlir/test/IR/test-symbol-uses.mlir (diff)
Commit c7748404920b3674e79059cbbe73b6041a214444 by riverriddle
[mlir] Update the CallGraph for nested symbol references, and simplify
CallableOpInterface
Summary: This enables tracking calls that cross symbol table boundaries.
It also simplifies some of the implementation details of
CallableOpInterface, i.e. there can only be one region within the
callable operation.
Depends On D72042
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D72043
The file was modifiedmlir/lib/Transforms/Utils/InliningUtils.cpp (diff)
The file was modifiedmlir/test/lib/TestDialect/TestOps.td (diff)
The file was modifiedmlir/include/mlir/Analysis/CallInterfaces.td (diff)
The file was modifiedmlir/lib/Analysis/CallGraph.cpp (diff)
The file was modifiedmlir/test/Analysis/test-callgraph.mlir (diff)
The file was modifiedmlir/lib/Transforms/Inliner.cpp (diff)
The file was modifiedmlir/include/mlir/IR/Function.h (diff)
Commit 53539bb032d162e0147c0e9650a5d1c7ca77dae0 by akhuang
[DebugInfo] Add another level to DebugInfoKind called Constructor
The option will limit debug info by only emitting complete class type
information when its constructor is emitted. This patch changes
comparisons with LimitedDebugInfo to use the new level instead.
Differential Revision: https://reviews.llvm.org/D72427
The file was modifiedclang/include/clang/Basic/CodeGenOptions.h (diff)
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp (diff)
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmt.cpp (diff)
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGDecl.cpp (diff)
The file was modifiedclang/include/clang/Basic/DebugInfoOptions.h (diff)
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp (diff)
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp (diff)
Commit 9b92e4fbdb5bc4fdd21702e0ce104dfcac6a54a7 by riverriddle
[mlir] Add support for attaching a visibility to symbols.
Summary: The visibility defines the structural reachability of the
symbol within the IR. Symbols can define one of three visibilities:
* Public The symbol \may be accessed from outside of the visible IR. We
cannot assume that we can observe all of the uses of this symbol.
* Private The symbol may only be referenced from within the operations
in the current symbol table, via SymbolRefAttr.
* Nested The symbol may be referenced by operations in symbol tables
above the current symbol table, as long as each symbol table parent also
defines a non-private symbol. This allows or referencing the symbol from
outside of the defining symbol table, while retaining the ability for
the compiler to see all uses.
These properties help to reason about the properties of a symbol, and
will be used in a follow up to implement a dce pass on dead symbols.
A few examples of what this would look like in the IR are shown below:
  module @public_module {
   // This function can be accessed by 'live.user'
   func @nested_function() attributes { sym_visibility = "nested" }
    // This function cannot be accessed outside of 'public_module'
  func @private_function() attributes { sym_visibility = "private" }
}
  // This function can only be accessed from within this module.
func @private_function() attributes { sym_visibility = "private" }
  // This function may be referenced externally.
func @public_function()
  "live.user"() {uses = [@public_module::@nested_function,
                                     @private_function,
                                     @public_function]} : () -> ()
Depends On D72043
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D72044
The file was modifiedmlir/include/mlir/IR/SymbolTable.h (diff)
The file was modifiedmlir/test/lib/TestDialect/TestOps.td (diff)
The file was modifiedmlir/lib/IR/Module.cpp (diff)
The file was modifiedmlir/lib/IR/SymbolTable.cpp (diff)
The file was modifiedmlir/test/IR/traits.mlir (diff)
Commit 03edd6d6a693e5bc7b0df488c4d4901cc55d3566 by riverriddle
[mlir] NFC: Remove unused variable.
The file was modifiedmlir/test/lib/IR/TestSymbolUses.cpp (diff)
Commit 989bed989a41732d1b70314bd9063ccd6e74fe5c by richard
Re-enable testing of .s tests under test/CodeGen/X86.
These were temporarily disabled in 2013 and we apparently forgot to ever
turn them back on again.
Fix spelling of flag to llvm-mc in recently-added test that wasn't
actually being run due to this.
The file was modifiedllvm/test/CodeGen/X86/lit.local.cfg (diff)
The file was modifiedllvm/test/CodeGen/X86/align-branch-boundary-default.s (diff)
Commit e68e4cbcc50ba7ab8df5e09023f15e6cc2223bef by efriedma
[GlobalISel] Change representation of shuffle masks in MachineOperand.
We're planning to remove the shufflemask operand from ShuffleVectorInst
(D72467); fix GlobalISel so it doesn't depend on that Constant.
The change to prelegalizercombiner-shuffle-vector.mir happens because
the input contains a literal "-1" in the mask (so the parser/verifier
weren't really handling it properly). We now treat it as equivalent to
"undef" in all contexts.
Differential Revision: https://reviews.llvm.org/D72663
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MachineOperand.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/MachineInstrBuilder.h (diff)
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp (diff)
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp (diff)
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h (diff)
The file was modifiedllvm/include/llvm/CodeGen/MachineOperand.h (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp (diff)
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir (diff)
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (diff)
The file was modifiedllvm/lib/CodeGen/MachineVerifier.cpp (diff)
Commit 09db6e320985f2bee22634049857224e0a5e58f8 by Jonas Devlieghere
[llvm-exegesis] Initialize const bitvector member
This causes an error with older versions of clang: constructor for
'llvm::exegesis::InstructionsCache' must explicitly initialize the const
member 'BVC'
The file was modifiedllvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp (diff)
Commit fb51ce10d7dcab9209d0cd059d907810dbd0197d by ditaliano
[LanguageRuntime] Retire an unused member function. NFCI.
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp (diff)
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h (diff)
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h (diff)
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp (diff)
Commit 84baf123a5213512e92e7deca2d111e00c2b97da by thakis
try to fix InterfaceStubs/lambda.cpp on Windows after bd8c8827d96f0
The file was modifiedclang/test/InterfaceStubs/lambda.cpp (diff)
Commit d1e3b23be46ac3ada8f5fe844629ad5bc233c24d by Jonas Devlieghere
[lldb/Utility] Add std::move to make placate clang 3.8
This fixes an error thrown by clang 3.8 that no viable conversion from
returned value to the function return type.
The file was modifiedlldb/source/Utility/StructuredData.cpp (diff)
Commit 3818101f7f8a631f4d2e4c639420fa9d6ab325e9 by ajcbik
[mlir] [VectorOps] fixed typo in verifier of slice op
Reviewers: nicolasvasilache, andydavis1, rriddle
Reviewed By: nicolasvasilache, rriddle
Subscribers: merge_guards_bot, mehdi_amini, rriddle, jpienaar, burmako,
shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester,
lucyrfox, liufengdb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72664
The file was modifiedmlir/lib/Dialect/VectorOps/VectorOps.cpp (diff)
Commit 1ab13f8cc3f79d67c9b337cc0f4ac1dde0460be8 by mgorny
[clang] [test] Fix riscv-toolchain-extra to be less picky about paths
Fix riscv-toolchain-extra tests to pass when CLANG_RESOURCE_DIR is set
to another value than the default.
Differential Revision: https://reviews.llvm.org/D72591
The file was modifiedclang/test/Driver/riscv64-toolchain-extra.c (diff)
The file was modifiedclang/test/Driver/riscv32-toolchain-extra.c (diff)