SuccessChanges

Summary

  1. [AArch64][MC] Remove unneeded "in .xxx directive" from diagnostics (details)
  2. [IR] Add a Location to BlockArgument (details)
  3. [LoopUnroll] Add test for partial unrolling again non-latch exit (NFC) (details)
  4. [libc++] use more early returns for consistency (details)
  5. [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo (details)
  6. [NFC][scudo] Enforce header size alignment (details)
  7. [OpenMP][OMPIRBuilder]Adding support for `omp atomic` (details)
  8. [AArch64] Delete unneeded fixup_aarch64_ldr_pcrel_imm19 VK_GOT special case (details)
  9. [NFC] Removing leftover debug code (details)
Commit fc82507c895a11c2d3acfcc5fb0e547d7f42f88e by i
[AArch64][MC] Remove unneeded "in .xxx directive" from diagnostics

The prevailing style does not add the message. The directive name is not useful
because the next line replicates the error line which includes the directive.
The file was modifiedllvm/test/MC/AArch64/directive-variant_pcs-err.s
The file was modifiedllvm/include/llvm/MC/MCParser/MCAsmParserExtension.h
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Commit 81467f500f6ad106a69088bc276024c5e1938571 by clattner
[IR] Add a Location to BlockArgument

This adds the ability to specify a location when creating BlockArguments.
Notably Value::getLoc() will return this correctly, which makes diagnostics
more precise (e.g. the example in test-legalize-type-conversion.mlir).

This is currently optional to avoid breaking any existing code - if
absent, the BlockArgument defaults to using the location of its enclosing
operation (preserving existing behavior).

The bulk of this change is plumbing location tracking through the parser
and printer to make sure it can round trip (in -mlir-print-debuginfo
mode).  This is complete for generic operations, but requires manual
adoption for custom ops.

I added support for function-like ops to round trip their argument
locations - they print correctly, but when parsing the locations are
dropped on the floor.  I intend to fix this, but it will require more
invasive plumbing through "function_like_impl" stuff so I think it
best to split it out to its own patch.

This is a reapply of the patch here: https://reviews.llvm.org/D102567
with an additional change: we now never defer block argument locations,
guaranteeing that we can round trip correctly.

This isn't required in all cases, but allows us to hill climb here and
works around unrelated bugs like https://bugs.llvm.org/show_bug.cgi?id=50451

Differential Revision: https://reviews.llvm.org/D102991
The file was modifiedmlir/include/mlir/IR/Value.h
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/lib/IR/Block.cpp
The file was modifiedmlir/test/Transforms/test-legalize-type-conversion.mlir
The file was modifiedmlir/test/IR/locations.mlir
The file was modifiedmlir/test/mlir-tblgen/pattern.mlir
The file was modifiedmlir/include/mlir/IR/Block.h
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/lib/IR/Value.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/IR/FunctionImplementation.cpp
Commit 15b108442fc843d509875ef77c4750ebbc8d4cca by nikita.ppv
[LoopUnroll] Add test for partial unrolling again non-latch exit (NFC)

This test case would get miscompiled by the current version of
D102982, because unrolling does not respect the PreserveCondBr
flag for partial unrolling.
The file was addedllvm/test/Transforms/LoopUnroll/partial-unroll-non-latch-exit.ll
Commit cb1511645170ec23036631790398d8143a832265 by joerg
[libc++] use more early returns for consistency

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D96983
The file was modifiedlibcxx/src/filesystem/operations.cpp
Commit c2f819af73c54a8cf923e5a25099ca95dbe76312 by i
[MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo

This makes it possible for targets to define their own MCObjectFileInfo.
This MCObjectFileInfo is then used to determine things like section alignment.

This is a follow up to D101462 and prepares for the RISCV backend defining the
text section alignment depending on the enabled extensions.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D101921
The file was modifiedllvm/include/llvm/MC/MCContext.h
The file was modifiedllvm/tools/llvm-ml/Disassembler.cpp
The file was modifiedlldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Analysis.cpp
The file was modifiedllvm/unittests/CodeGen/MachineInstrTest.cpp
The file was modifiedllvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
The file was modifiedllvm/lib/MC/MCContext.cpp
The file was modifiedllvm/lib/Object/ModuleSymbolTable.cpp
The file was modifiedllvm/tools/llvm-jitlink/llvm-jitlink.cpp
The file was modifiedclang/lib/Parse/ParseStmtAsm.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/LlvmState.cpp
The file was modifiedllvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp
The file was modifiedllvm/tools/llvm-objdump/MachODump.cpp
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/tools/llvm-dwp/llvm-dwp.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetFile.cpp
The file was modifiedllvm/tools/llvm-cfi-verify/lib/FileAnalysis.h
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
The file was modifiedllvm/include/llvm/Support/TargetRegistry.h
The file was modifiedclang/tools/driver/cc1as_main.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Analysis.h
The file was modifiedllvm/tools/llvm-mc-assemble-fuzzer/llvm-mc-assemble-fuzzer.cpp
The file was modifiedllvm/tools/llvm-mc/llvm-mc.cpp
The file was modifiedlldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
The file was modifiedllvm/lib/MC/MCDisassembler/Disassembler.cpp
The file was modifiedlldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
The file was modifiedllvm/lib/CodeGen/MachineModuleInfo.cpp
The file was modifiedllvm/lib/DWARFLinker/DWARFStreamer.cpp
The file was modifiedllvm/tools/llvm-ml/llvm-ml.cpp
The file was modifiedllvm/tools/llvm-profgen/ProfiledBinary.cpp
The file was modifiedllvm/unittests/CodeGen/MachineOperandTest.cpp
The file was modifiedllvm/unittests/CodeGen/TestAsmPrinter.cpp
The file was modifiedllvm/unittests/MC/DwarfLineTables.cpp
The file was modifiedmlir/lib/Dialect/GPU/Transforms/SerializeToHsaco.cpp
The file was modifiedllvm/tools/sancov/sancov.cpp
The file was modifiedllvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp
Commit 93d1e5822ed64abd777eb94ea9899e96c4c39fbe by Vitaly Buka
[NFC][scudo] Enforce header size alignment

As-is it should not change struct size, but it will
help to keep correct size if more fields added.
The file was modifiedcompiler-rt/lib/scudo/standalone/secondary.h
Commit 766ad7d0aa6f4ebd325fbabfa39e15e11984c060 by fghanim84
[OpenMP][OMPIRBuilder]Adding support for `omp atomic`

This patch adds support for generating `omp atomic` for all different
atomic clauses
The file was modifiedllvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
The file was modifiedllvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Commit 249b40b558955afe5ac2b549edcf2d7f859c8cc9 by i
[AArch64] Delete unneeded fixup_aarch64_ldr_pcrel_imm19 VK_GOT special case

An AArch64 VK_GOT fixup must have a symbol. MCAssembler::evaluateFixup considers
such a fixup not resolved. The code path cannot trigger.
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
Commit b43bb33eb52298ff15a74b70da3014498f37429e by fghanim84
[NFC] Removing leftover debug code

Removing a missed value::dump() used to debug during development of
OMPBuilder atomic.
The file was modifiedllvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp