SuccessChanges

Summary

  1. [clang] fix a compilation bug (details)
  2. [InstCombine] Fix a compilation bug (details)
  3. [PowerPC] Make StartMI ignore COPY like instructions. (details)
  4. [X86] Reject dirflag in inline asm constraints other than clobber. (details)
  5. [lldb] Print the exception traceback when hitting cleanup errors (details)
  6. [clang] Make signature help work with dependent args (details)
  7. [lldb][NFC] Remove stride parameter from GetArrayElementType (details)
  8. [VE] Support f128 (details)
  9. [lldb] Get lldb-server platform's --socket-file working again (details)
  10. [lldb] Fix that log enable's -f parameter causes LLDB to crash when it can't open the log file (details)
  11. [lldb] Add SBModule::GarbageCollectAllocatedModules and clear modules after each test run (details)
  12. [lldb] Forcefully complete a type when adding nested classes (details)
  13. [lldb/Utility] Simplify and generalize Scalar class (details)
  14. [lldb] Don't delete orphaned shared modules in SBDebugger::DeleteTarget (details)
  15. [lldb] Remove OS-specific string from TestInvalidArgsLog (details)
  16. [NFC][StackSafety] Move out sort from the loop (details)
  17. [InlineCost] Fix scalable vectors in visitAlloca (details)
  18. [lldb][NFC] Use the proper type for the 'storage' parameter of CreateFunctionDeclaration (details)
  19. [X86][AVX] Move lowerShuffleWithVPMOV inside explicit shuffle lowering cases (details)
  20. [lldb][NFC] Use expect_expr in more tests (details)
  21. [lldb][NFC] Remove name parameter from CreateFunctionTemplateDecl (details)
  22. [LLD][ELF] - Do not produce an invalid dynamic relocation order with --shuffle-sections. (details)
  23. [NFC] Run update script on test (details)
  24. [DemandedBits] Reorder addition test checks. NFC. (details)
  25. [DemandedBits] Improve accuracy of Add propagator (details)
  26. [llvm-readobj/elf] - Refine the warning about the broken PT_DYNAMIC segment. (details)
  27. [InstCombine] reduce code duplication; NFC (details)
  28. [InstCombine] add tests for sdiv-of-abs; NFC (details)
  29. [InstCombine] fold abs(X)/X to cmp+select (details)
  30. [gn build] Port c1f6ce0c732 (details)
  31. [RISCV] Indirect branch generation in position independent code (details)
  32. [RISCV] Enable the use of the old mucounteren name (details)
  33. [llvm-readobj] - Remove unwrapOrError calls from GNUStyle<ELFT>::printRelocations. (details)
  34. [lldb][NFC] Use StringRef in CreateFunctionDeclaration/GetDeclarationName (details)
  35. [NFC] Tweak a comment about the lock-free builtins (details)
  36. [NFC] run update test script (details)
  37. [SystemZ/ZOS]__(de)register_frame are not available on z/OS. (details)
  38. [lldb] Skip TestSimulatorPlatform with sanitized builds (details)
  39. [llvm] support graceful failure of DataLayout parsing (details)
  40. [mlir] Move data layout from LLVMDialect to module Op attributes (details)
  41. AMDGPU: Fix using wrong offsets for global atomic fadd intrinsics (details)
  42. AMDGPU/GlobalISel: Fix using post-legal combiner without LegalizerInfo (details)
  43. GlobalISel: Remove unnecessary check for copy type (details)
  44. [flang] Add preprocessor test for defines passed on the command line (details)
Commit 000ad1a976a537256b17788dcf8b50ca117007b8 by yhs
[clang] fix a compilation bug

With gcc 6.3.0, I hit the following compilation bug:
  /home/yhs/work/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp:
  In function ‘bool ParseCodeGenArgs(clang::CodeGenOptions&, llvm::opt::ArgList&,
  clang::InputKind, clang::DiagnosticsEngine&, const clang::TargetOptions&,
  const clang::FrontendOptions&)’:
  /home/yhs/work/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp:780:12:
    error: unused variable ‘A’ [-Werror=unused-variable]
     if (Arg *A = Args.getLastArg(OPT_fuse_ctor_homing))
              ^
  cc1plus: all warnings being treated as errors

The bug is introduced by Commit ae6523cd62a4 ("[DebugInfo] Add
-fuse-ctor-homing cc1 flag so we can turn on constructor homing only
if limited debug info is already on.")
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit aa61e43040495235706229a7bde748a9beff137b by yhs
[InstCombine] Fix a compilation bug

With gcc 6.3.0, I hit the following compilation bug.
  ../lib/Transforms/InstCombine/InstCombineVectorOps.cpp:937:2: error: extra ‘;’ [-Werror=pedantic]
   };
    ^
  cc1plus: all warnings being treated as errors

The error is introduced by Commit ae7f08812e09 ("[InstCombine]
Aggregate reconstruction simplification (PR47060)")
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Commit 4d52ebb9b9c72b656c1ccb6a1424841f246cd791 by czhengsz
[PowerPC] Make StartMI ignore COPY like instructions.

Reviewed By: lkail

Differential Revision: https://reviews.llvm.org/D85659
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/test/CodeGen/PowerPC/fixup-kill-dead-flag-crash.mir
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
Commit a206f8509124c483358eb6e80e08bf621efd7655 by craig.topper
[X86] Reject dirflag in inline asm constraints other than clobber.

Fixes the crash from PR47195.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 24fc3177c1767535aeb494511a13dabf9f6de647 by Raphael Isemann
[lldb] Print the exception traceback when hitting cleanup errors

Right now if the test suite encounters a cleanup error it just prints "CLEANUP
ERROR:" but not any additional information.

This patch just prints the exception that caused the cleanup error. This should
make debugging the failing tests for D83865 easier (and seems in general nice to
have).

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D83874
The file was modifiedlldb/packages/Python/lldbsuite/test/test_result.py
Commit 53c593c2c893a40083771789e3d3e164eea1892d by kadircet
[clang] Make signature help work with dependent args

Fixes https://github.com/clangd/clangd/issues/490

Differential Revision: https://reviews.llvm.org/D85826
The file was modifiedclang/test/CodeCompletion/call.cpp
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
Commit 5913f2591c45dc84e872a62343f81462372ccbdb by Raphael Isemann
[lldb][NFC] Remove stride parameter from GetArrayElementType

This parameter isn't used anywhere in LLDB nor the Swift downstream branch. It
also doesn't really fit into the TypeSystem APIs that usually don't return
additional related functionality via some output parameters. Also the
implementations already states that the calculated value there is wrong.

Let's remove it. If we need this functionality at some point then Swift's much
nicer `GetByteStride` function seems like the way to go.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D84299
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/include/lldb/Symbol/TypeSystem.h
The file was modifiedlldb/source/Symbol/CompilerType.cpp
The file was modifiedlldb/include/lldb/Symbol/CompilerType.h
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Commit 40f1e7e80401dab11f6003fb59c43ba9059959cd by marukawa
[VE] Support f128

Support f128 using VE instructions.  Update regression tests.
I've noticed there is no load or store i128 test, so I add them too.

Reviewed By: simoll

Differential Revision: https://reviews.llvm.org/D86035
The file was modifiedllvm/test/CodeGen/VE/fp_div.ll
The file was modifiedllvm/test/CodeGen/VE/fp_add.ll
The file was modifiedllvm/test/CodeGen/VE/va_caller.ll
The file was modifiedllvm/test/CodeGen/VE/call.ll
The file was modifiedllvm/test/CodeGen/VE/load.ll
The file was modifiedllvm/test/CodeGen/VE/store_gv.ll
The file was modifiedllvm/test/CodeGen/VE/va_arg.ll
The file was modifiedllvm/lib/Target/VE/VEMCInstLower.cpp
The file was modifiedllvm/lib/Target/VE/VERegisterInfo.cpp
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.td
The file was modifiedllvm/lib/Target/VE/VEISelLowering.h
The file was modifiedllvm/lib/Target/VE/VEInstrInfo.cpp
The file was modifiedllvm/lib/Target/VE/VECallingConv.td
The file was modifiedllvm/test/CodeGen/VE/load_off.ll
The file was modifiedllvm/test/CodeGen/VE/load_gv.ll
The file was modifiedllvm/test/CodeGen/VE/store.ll
The file was modifiedllvm/lib/Target/VE/VEISelLowering.cpp
The file was modifiedllvm/test/CodeGen/VE/fp_mul.ll
The file was modifiedllvm/test/CodeGen/VE/fp_sub.ll
Commit c57ea1b48f26caf7922bf434187e1c277f412550 by Raphael Isemann
[lldb] Get lldb-server platform's --socket-file working again

`lldb-server platform --socket-file /any/path` currently always fails to create
the socket file.  This stopped working after D67424 which changed the
input variables of `writeFileAtomically` slightly. We're expected to
pass in a temporary path template (`/tmp/foo-%%%%%`) and the final
path we want to write. Instead we currently pass in the never set
`temp_file_path` as the temporary path (which will make this function always
fail) and pass in the temp_file_spec's path as the final path (which is actually
the template path such as `/tmp/foo-%%%%%`) instead of the actual path
we want to write (e.g. `/tmp/foo`).

Reviewed By: labath

Differential Revision: https://reviews.llvm.org/D85890
The file was modifiedlldb/tools/lldb-server/lldb-platform.cpp
Commit 867c347c32e27825a649af1ca5ccf22c350d2b8c by Raphael Isemann
[lldb] Fix that log enable's -f parameter causes LLDB to crash when it can't open the log file

We didn't do anything with the llvm::Error we get from `Open`, so when we end up in the
error case we just crash due to the llvm::Error sanity check. Also add the missing newline
behind the error message so it no longer messes with the next (lldb) prompt.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D85970
The file was modifiedlldb/test/API/commands/log/invalid-args/TestInvalidArgsLog.py
The file was modifiedlldb/source/Core/Debugger.cpp
Commit c2f9454a16e45e1df09d8ebed6dadbc0da264442 by Raphael Isemann
[lldb] Add SBModule::GarbageCollectAllocatedModules and clear modules after each test run

Right now the only places in the SB API where lldb:: ModuleSP instances are
destroyed are in SBDebugger::MemoryPressureDetected (where it's just attempted
but not guaranteed) and in SBDebugger::DeleteTarget (which will be removed in
D83933). Tests that directly create an lldb::ModuleSP and never create a target
therefore currently leak lldb::Module instances. This triggers the sanity checks
in lldbtest that make sure that the global module list is empty after a test.

This patch adds SBModule::GarbageCollectAllocatedModules as an explicit way to
clean orphaned lldb::ModuleSP instances. Also we now start calling this method
at the end of each test run and move the sanity check behind that call to make
this work. This way even tests that don't create targets can pass the sanity
check.

This fixes TestUnicodeSymbols.py when D83865 is applied (which makes that the
sanity checks actually fail the test).

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D83876
The file was modifiedlldb/include/lldb/API/SBModule.h
The file was modifiedlldb/source/API/SBModule.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/bindings/interface/SBModule.i
Commit 2d89a3ba121b96a4af9aecaf52205eab200394c3 by pavel
[lldb] Forcefully complete a type when adding nested classes

With -flimit-debug-info, we can run into cases when we only have a class
as a declaration, but we do have a definition of a nested class. In this
case, clang will hit an assertion when adding a member to an incomplete
type (but only if it's adding a c++ class, and not C struct).

It turns out we already had code to handle a similar situation arising
in the -gmodules scenario. This extends the code to handle
-flimit-debug-info as well, and reorganizes bits of other code handling
completion of types to move functions doing similar things closer
together.

Differential Revision: https://reviews.llvm.org/D85968
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/DW_AT_declaration-with-children.s
Commit 67cdb899c6b3ec231f35ca17a00023758ef127ba by pavel
[lldb/Utility] Simplify and generalize Scalar class

The class contains an enum listing all host integer types as well as
some non-host types. This setup is a remnant of a time when this class
was actually implemented in terms of host integer types. Now that we are
using llvm::APInt, they are mostly useless and mean that each function
needs to enumerate all of these cases even though it treats most of them
identically.

I only leave e_sint and e_uint to denote the integer signedness, but I
want to remove that in a follow-up as well.

Removing these cases simplifies most of these functions, with the only
exception being PromoteToMaxType, which can no longer rely on a simple
enum comparison to determine what needs to be promoted.

This also makes the class ready to work with arbitrary integer sizes, so
it does not need to be modified when someone needs to add a larger
integer size.

Differential Revision: https://reviews.llvm.org/D85836
The file was modifiedlldb/include/lldb/Utility/Scalar.h
The file was modifiedlldb/unittests/Utility/ScalarTest.cpp
The file was modifiedlldb/source/Utility/Scalar.cpp
Commit 24c74f5e8c2cf263dd84292ca5d33ee0890b48dd by Raphael Isemann
[lldb] Don't delete orphaned shared modules in SBDebugger::DeleteTarget

In D83876 the consensus seems that LLDB should never deleted orphaned modules
implicitly. However, SBDebugger::DeleteTarget is currently doing exactly that.
This code was added in 753406221b55b95141c8c1239660dc4db4e35ea5 but I don't see
any explanation in the commit, so I think we should delete it.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D83933
The file was modifiedlldb/source/API/SBDebugger.cpp
Commit 6b97fa0bfefea7d9028b899a92bc29ab9b133906 by Raphael Isemann
[lldb] Remove OS-specific string from TestInvalidArgsLog

This is the error message from the OS, so we shouldn't check against the
OS-specific part of the string.

Fixes the test on Windows which returns a different error message.
The file was modifiedlldb/test/API/commands/log/invalid-args/TestInvalidArgsLog.py
Commit 3b348d91028726f840868875dac3bcefcefda917 by Vitaly Buka
[NFC][StackSafety] Move out sort from the loop
The file was modifiedllvm/lib/Analysis/StackSafetyAnalysis.cpp
The file was modifiedllvm/test/Bitcode/thinlto-function-summary-paramaccess.ll
Commit 2ccde3c96b784f74370beff5dab5fbf3e70fae8b by cullen.rhodes
[InlineCost] Fix scalable vectors in visitAlloca

Discovered as part of the VLS type work (see D85128).

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D85848
The file was addedllvm/test/Transforms/Inline/inline-scalable.ll
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
Commit cd2139a527f2d829bdde7877c992215f598e927b by Raphael Isemann
[lldb][NFC] Use the proper type for the 'storage' parameter of CreateFunctionDeclaration

All the callers pass an enum and we cast the int anyway back to the actual type,
so we might as well just use the type for the parameter.
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/unittests/Symbol/TestTypeSystemClang.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit 1d2ede87eacb0c4a063691905b4464bb04f8eca7 by llvm-dev
[X86][AVX] Move lowerShuffleWithVPMOV inside explicit shuffle lowering cases

Perform lowerShuffleWithVPMOV as part of the v16i8/v8i16 shuffle lowering stages, which are the only types that are currently supported.

We need to expand support for lowering shuffles as truncations to fix the remaining regressions in D66004
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 42b9a683523628bfbb4f7447c0ca9607f3eee83f by Raphael Isemann
[lldb][NFC] Use expect_expr in more tests
The file was modifiedlldb/test/API/lang/objc/objc_direct-methods/main.m
The file was modifiedlldb/test/API/commands/expression/ignore-artificial-constructors/main.cpp
The file was modifiedlldb/test/API/commands/expression/cast_int_to_anonymous_enum/TestCastIntToAnonymousEnum.py
The file was modifiedlldb/test/API/commands/expression/function_template_specialization_temp_args/TestFunctionTemplateSpecializationTempArgs.py
The file was modifiedlldb/test/API/lang/cpp/namespace/TestNamespace.py
The file was modifiedlldb/test/API/commands/expression/expr-in-syscall/TestExpressionInSyscall.py
The file was modifiedlldb/test/API/commands/expression/argument_passing_restrictions/TestArgumentPassingRestrictions.py
Commit 7e6c437fb413eb7ae102e8db869bb55a748411ff by Raphael Isemann
[lldb][NFC] Remove name parameter from CreateFunctionTemplateDecl

It's unused and not documented.
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/unittests/Symbol/TestTypeSystemClang.cpp
Commit c135a68d426fd69d26454658bfa62102993f12a7 by grimar
[LLD][ELF] - Do not produce an invalid dynamic relocation order with --shuffle-sections.

Normally (when not on android with android relocation packing enabled),
we put IRelative relocations to ".rel[a].dyn", after other relocations,
to ensure that IRelatives are processed last by the dynamic loader.

To achieve that we add the `in.relaIplt` after the `part.relaDyn`:
https://github.com/llvm/llvm-project/blob/master/lld/ELF/Writer.cpp#L540

The problem is that `--shuffle-sections` might break the sections order.
This patch fixes it.

Fixes https://bugs.llvm.org/show_bug.cgi?id=47056.

Differential revision: https://reviews.llvm.org/D85651
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/gnu-ifunc-plt.s
Commit 613d8f29538ee43137a77dfd0d6464c65b328b68 by sam.parker
[NFC] Run update script on test

Update IndVarSimplify/no-iv-rewrite.ll
The file was modifiedllvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
Commit 79d9e2cd93a3ff7b448f40caf50dbfd3516f7c0d by llvm-dev
[DemandedBits] Reorder addition test checks. NFC.

As suggested on D72423 we should try to keep the same order as the original IR
The file was modifiedllvm/test/Analysis/DemandedBits/add.ll
Commit c1f6ce0c7322d47f1bb90169585fa54232231ede by llvm-dev
[DemandedBits] Improve accuracy of Add propagator

The current demand propagator for addition will mark all input bits at and right of the alive output bit as alive. But carry won't propagate beyond a bit for which both operands are zero (or one/zero in the case of subtraction) so a more accurate answer is possible given known bits.

I derived a propagator by working through truth tables and using a bit-reversed addition to make demand ripple to the right, but I'm not sure how to make a convincing argument for its correctness in the comments yet. Nevertheless, here's a minimal implementation and test to get feedback.

This would help in a situation where, for example, four bytes (<128) packed into an int are added with four others SIMD-style but only one of the four results is actually read.

Known A:     0_______0_______0_______0_______
Known B:     0_______0_______0_______0_______
AOut:        00000000001000000000000000000000
AB, current: 00000000001111111111111111111111
AB, patch:   00000000001111111000000000000000

Committed on behalf of: @rrika (Erika)

Differential Revision: https://reviews.llvm.org/D72423
The file was modifiedllvm/include/llvm/Analysis/DemandedBits.h
The file was modifiedllvm/test/Analysis/DemandedBits/add.ll
The file was modifiedllvm/unittests/Support/KnownBitsTest.cpp
The file was modifiedllvm/lib/Analysis/DemandedBits.cpp
The file was modifiedllvm/unittests/IR/CMakeLists.txt
The file was addedllvm/unittests/Support/KnownBitsTest.h
The file was addedllvm/unittests/IR/DemandedBitsTest.cpp
Commit 6567f822160ea7c4d13a7e3358883eafc61af337 by grimar
[llvm-readobj/elf] - Refine the warning about the broken PT_DYNAMIC segment.

Splitted out from D85519.

Currently we report "PT_DYNAMIC segment offset + size exceeds the size of the file",
this changes it to
"PT_DYNAMIC segment offset (0x1234) + file size (0x5678) exceeds the size of the file (0x68ab)"

Differential revision: https://reviews.llvm.org/D85654
The file was modifiedllvm/test/tools/llvm-readobj/ELF/malformed-pt-dynamic.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/Object/invalid.test
Commit 6cd4a6f6b27eea40dbddccb21c206fb4d4354c53 by spatel
[InstCombine] reduce code duplication; NFC
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit 61512ddd2d57fc33464bda477dab04829266faa1 by spatel
[InstCombine] add tests for sdiv-of-abs; NFC
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-canonicalize.ll
Commit e6b6787d01e9ea6338b5b51c6e3ba1b903876b3a by spatel
[InstCombine] fold abs(X)/X to cmp+select

The backend can convert the select-of-constants to
bit-hack shift+logic if desirable.

https://alive2.llvm.org/ce/z/pgJT6E

  define i8 @src(i8 %x) {
  %0:
    %a = abs i8 %x, 1
    %d = sdiv i8 %x, %a
    ret i8 %d
  }
  =>
  define i8 @tgt(i8 %x) {
  %0:
    %cond = icmp sgt i8 %x, 255
    %r = select i1 %cond, i8 1, i8 255
    ret i8 %r
  }
  Transformation seems to be correct!
The file was modifiedllvm/test/Transforms/InstCombine/sdiv-canonicalize.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit e0eb4f204a0ef48cff8fedc0cbc5be2c71fe2afe by llvmgnsyncbot
[gn build] Port c1f6ce0c732
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Commit 5f9ecc5d857fa5d95f6ea36153be19db40576f8a by selliott
[RISCV] Indirect branch generation in position independent code

This fixes the "Unable to insert indirect branch" fatal error sometimes
seen when generating position-independent code.

Patch by msizanoen1

Reviewed By: jrtc27

Differential Revision: https://reviews.llvm.org/D84833
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/RISCV/branch-relaxation.ll
Commit 3f7068ad986d7f44f47faec78597a5e62b07b20b by selliott
[RISCV] Enable the use of the old mucounteren name

The RISC-V Privileged Specification 1.11 defines `mcountinhibit`, which
has the same numeric CSR value as `mucounteren` from 1.09.1. This patch
enables the use of the old `mucounteren` name.

Patch by Yuichi Sugiyama.

Reviewed By: lenary, jrtc27, pzheng

Differential Revision: https://reviews.llvm.org/D85067
The file was modifiedllvm/test/MC/RISCV/machine-csr-names.s
The file was modifiedllvm/lib/Target/RISCV/RISCVSystemOperands.td
Commit bc902191d3c002c13436f2c9a299826704861a80 by grimar
[llvm-readobj] - Remove unwrapOrError calls from GNUStyle<ELFT>::printRelocations.

This fixes existent FIXMEs: we should not error out when unable to
find the number of relocations.

Differential revision: https://reviews.llvm.org/D85891
The file was modifiedllvm/test/tools/llvm-readobj/ELF/packed-relocs.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/relr-relocs.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit cfb773c676236652f63f9ba031d6755d55f5d884 by Raphael Isemann
[lldb][NFC] Use StringRef in CreateFunctionDeclaration/GetDeclarationName

CreateFunctionDeclaration should just take a StringRef. GetDeclarationName is
(only) used by CreateFunctionDeclaration so that's why now also takes a
StringRef.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
Commit 687e7d34253b283945bdf9892aa58fd167f9913d by luismarques
[NFC] Tweak a comment about the lock-free builtins
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit dad04e62f13bf64868c9b842f51dfc5fffbe95c0 by sam.parker
[NFC] run update test script

On Transforms/LoopUnroll/runtime-small-upperbound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll
Commit c2ae7934c809d739f7677f4422755c58e4ab8ea3 by kai
[SystemZ/ZOS]__(de)register_frame are not available on z/OS.

The functions `__register_frame`/`__deregister_frame` are not
available on z/OS, so add a guard to not use them.

Reviewed By: lhames, abhina.sreeskantharajan

Differential Revision: https://reviews.llvm.org/D84787
The file was modifiedllvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
Commit f5f22f04481bec765ccaf6e400da24987a421c2e by Raphael Isemann
[lldb] Skip TestSimulatorPlatform with sanitized builds

The test executable crashes when ran on a simulator. Skipping until this is
fixed.

rdar://67238668
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
Commit 874aef875d0cd04b33f25bb71b534cbb0d6220ae by zinenko
[llvm] support graceful failure of DataLayout parsing

Existing implementation always aborts on syntax errors in a DataLayout
description. While this is meaningful for consuming textual IR modules, it is
inconvenient for users that may need fine-grained control over the layout from,
e.g., command-line options. Propagate errors through the parsing functions and
only abort in the top-level parsing function instead.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D85650
The file was modifiedllvm/include/llvm/IR/DataLayout.h
The file was modifiedllvm/lib/IR/DataLayout.cpp
Commit 168213f91c571352c56f432573513cba3f9ba61b by zinenko
[mlir] Move data layout from LLVMDialect to module Op attributes

Legacy implementation of the LLVM dialect in MLIR contained an instance of
llvm::Module as it was required to parse LLVM IR types. The access to the data
layout of this module was exposed to the users for convenience, but in practice
this layout has always been the default one obtained by parsing an empty layout
description string. Current implementation of the dialect no longer relies on
wrapping LLVM IR types, but it kept an instance of DataLayout for
compatibility. This effectively forces a single data layout to be used across
all modules in a given MLIR context, which is not desirable. Remove DataLayout
from the LLVM dialect and attach it as a module attribute instead. Since MLIR
does not yet have support for data layouts, use the LLVM DataLayout in string
form with verification inside MLIR. Introduce the layout when converting a
module to the LLVM dialect and keep the default "" description for
compatibility.

This approach should be replaced with a proper MLIR-based data layout when it
becomes available, but provides an immediate solution to compiling modules with
different layouts, e.g. for GPUs.

This removes the need for LLVMDialectImpl, which is also removed.

Depends On D85650

Reviewed By: aartbik

Differential Revision: https://reviews.llvm.org/D85652
The file was modifiedmlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVM.h
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
The file was addedmlir/test/Conversion/StandardToLLVM/convert-data-layout.mlir
The file was modifiedmlir/include/mlir/Conversion/StandardToLLVM/ConvertStandardToLLVMPass.h
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/test/Target/llvmir.mlir
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/test/Dialect/LLVMIR/invalid.mlir
Commit e0375dbcb39bdd5fa9f8288f9149df256003e06b by Matthew.Arsenault
AMDGPU: Fix using wrong offsets for global atomic fadd intrinsics

Global instructions have the signed offsets.
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.fadd.ll
Commit 66ffa0e91f1e602d11c5aad29b000b275d8be89a by Matthew.Arsenault
AMDGPU/GlobalISel: Fix using post-legal combiner without LegalizerInfo
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
Commit 924f31bc3c2c765f51eedda14534623053ffd75a by Matthew.Arsenault
GlobalISel: Remove unnecessary check for copy type

COPY isn't allowed to change the type, but can mix no type with type.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/Utils.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/Utils.cpp
Commit 3b338e53e956d239efe2e8319d863838e5fdb857 by david.truby
[flang] Add preprocessor test for defines passed on the command line

This adds a test for D85862 to ensure that preprocessor definitions
passed on command lines don't regress in future.

Reviewed By: tskeith

Differential Revision: https://reviews.llvm.org/D85967
The file was addedflang/test/Preprocessing/defines.F90