Changes

Summary

  1. [LoopUnroll] Push runtime unrolling decision up into tryToUnrollLoop() (details)
  2. [mlir] Add EmitC dialect (details)
  3. [clang][FPEnv] Clang floatng point model ffp-model=precise enables ffp-contract=on (details)
  4. [clang-cl] Don't expand /permissive- to /ZC:strictStrings yet (details)
  5. [libcxx] Move all algorithms into their own headers (details)
  6. [gn build] Port 134723edd5bf (details)
  7. Revert "[clang][FPEnv] Clang floatng point model ffp-model=precise enables ffp-contract=on" (details)
  8. [ARM][NFC] Tidy up subtarget frame pointer routines (details)
  9. Allow building for release with EXPENSIVE_CHECKS (details)
  10. Revert "Re-Revert "DirectoryWatcher: add an implementation for Windows"" (details)
  11. [InstCombine][test] add tests for select-of-bit-manip; NFC (details)
  12. [amdgpu] Improve the from f32 to i64. (details)
  13. [MIRPrinter] Add machine metadata support. (details)
  14. [lld/mac] Give __DATA,__thread_ptrs type S_THREAD_LOCAL_VARIABLE_POINTERS (details)
  15. [lld/mac] Make sure __thread_ptrs is in front of __thread_bss (details)
  16. [gn build] (manually) port b9c05aff205b (MIRTests) (details)
  17. Simplify some typedef struct (details)
  18. [NFC] AMD Zen 3: fix typo in a comment (details)
  19. [RISCV] Prevent formation of shXadd(.uw) and add.uw if it prevents the use of addi. (details)
  20. [llvm-profdata] Delete unneeded empty output filename check (details)
  21. [LLD] [MinGW] Print errors/warnings in lld-link with a "ld.lld" prefix (details)
  22. [LLD] [COFF] Avoid doing repeated fuzzy symbol lookup for each iteration. NFC. (details)
  23. [profile] Don't publish VMO if there are no counters (details)
  24. [llvm-profdata] Make diagnostics consistent with the (no capitalization, no period) style (details)
  25. [profile] Fix variable name (details)
  26. [test] Fix nocompress.test (details)
  27. [Flang][test] Fix Windows buildbot. (details)
  28. [llvm-cov gcov] Change case to match the prevailing style && replace getString with readString (details)
  29. [llvm-cov gcov] Support GCC 12 format (details)
  30. [InstSimplify] icmp poison, X -> poison (details)
Commit 1bd4085e0bbc14ec61ab69c83464098622b2df56 by nikita.ppv
[LoopUnroll] Push runtime unrolling decision up into tryToUnrollLoop()

Currently, UnrollLoop() is passed an AllowRuntime flag and decides
itself whether runtime unrolling should be used or not. This patch
pushes the decision into the caller and allows us to eliminate the
ULO.TripCount and ULO.TripMultiple parameters.

Differential Revision: https://reviews.llvm.org/D104487
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
Commit 876de062f94650f9ded56a22b062236f711fcd18 by marius.brehler
[mlir] Add EmitC dialect

This upstreams the EmitC dialect and the corresponding Cpp target, both
initially presented with [1], from [2] to MLIR core. For the related
discussion, see [3].

[1] https://reviews.llvm.org/D76571
[2] https://github.com/iml130/mlir-emitc
[3] https://llvm.discourse.group/t/emitc-generating-c-c-from-mlir/3388

Co-authored-by: Jacques Pienaar <jpienaar@google.com>
Co-authored-by: Simon Camphausen <simon.camphausen@iml.fraunhofer.de>
Co-authored-by: Oliver Scherf <oliver.scherf@iml.fraunhofer.de>

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D103969
The file was addedmlir/include/mlir/Dialect/EmitC/IR/EmitCBase.td
The file was modifiedmlir/test/mlir-opt/commandline.mlir
The file was modifiedmlir/lib/Dialect/CMakeLists.txt
The file was modifiedmlir/include/mlir/Dialect/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/EmitC/IR/EmitC.td
The file was addedmlir/test/Dialect/EmitC/invalid_ops.mlir
The file was addedmlir/test/Dialect/EmitC/ops.mlir
The file was addedmlir/include/mlir/Dialect/EmitC/IR/EmitCTypes.td
The file was addedmlir/lib/Dialect/EmitC/IR/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/EmitC/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/EmitC/IR/EmitC.h
The file was addedmlir/include/mlir/Dialect/EmitC/IR/EmitCAttributes.td
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was addedmlir/test/Dialect/EmitC/types.mlir
The file was addedmlir/lib/Dialect/EmitC/IR/EmitC.cpp
The file was addedmlir/lib/Dialect/EmitC/CMakeLists.txt
The file was addedmlir/include/mlir/Dialect/EmitC/IR/CMakeLists.txt
Commit a1449a10dbcfcf353f4f761281c4e572b4ce9308 by melanie.blower
[clang][FPEnv] Clang floatng point model ffp-model=precise enables ffp-contract=on

This patch changes the ffp-model=precise to enables -ffp-contract=on
(previously -ffp-model=precise enabled -ffp-contract=fast). This is a
follow-up to Andy Kaylor's comments in the llvm-dev discussion
"Floating Point semantic modes". From the same email thread, I put
Andy's distillation of floating point options and floating point modes
into UsersManual.rst

Differential Revision: https://reviews.llvm.org/D74436
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/test/CodeGen/ffp-contract-option.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
Commit c9889c44ec5a4054833457c813e155f284703ef4 by markus.boeck02
[clang-cl] Don't expand /permissive- to /ZC:strictStrings yet

Follow up on rGc70b0e808da8

/Zc:strictStrings is an alias to an option part of the -W group. When the driver tries to render the option back to a string for the cc1 invocation, it sadly gets rendered with the original spelling instead of the alias, causing issues reported here: https://reviews.llvm.org/D103773#inline-989447

I am thinking it's the best to revert this part of the patch until I figured out how to correctly add the arg and until /Zc:strictStrings- exists/is needed.
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
Commit 134723edd5bf06ff6ec8aca7b87c56e5bd70ccae by Louis Dionne
[libcxx] Move all algorithms into their own headers

This is a fairly mechanical change, it just moves each algorithm into
its own header. This is intended to be a NFC.

This commit re-applies 7ed7d4ccb899, which was reverted in 692d7166f771
because the Modules build got broken. The modules build has now been
fixed, so we're re-committing this.

Differential Revision: https://reviews.llvm.org/D103583

Attribution note
----------------
I'm only committing this. This commit is a mix of D103583, D103330 and
D104171 authored by:

Co-authored-by: Christopher Di Bella <cjdb@google.com>
Co-authored-by: zoecarver <z.zoelec2@gmail.com>
The file was addedlibcxx/include/__algorithm/find_end.h
The file was addedlibcxx/include/__algorithm/equal_range.h
The file was addedlibcxx/include/__algorithm/set_symmetric_difference.h
The file was addedlibcxx/include/__algorithm/all_of.h
The file was addedlibcxx/include/__algorithm/is_partitioned.h
The file was addedlibcxx/include/__algorithm/push_heap.h
The file was addedlibcxx/include/__algorithm/for_each_n.h
The file was addedlibcxx/include/__algorithm/replace_copy_if.h
The file was addedlibcxx/include/__algorithm/partition_copy.h
The file was addedlibcxx/include/__algorithm/copy_backward.h
The file was modifiedlibcxx/include/module.modulemap
The file was addedlibcxx/include/__algorithm/rotate.h
The file was modifiedlibcxx/test/std/containers/sequences/array/compare.fail.cpp
The file was addedlibcxx/include/__algorithm/move.h
The file was addedlibcxx/include/__functional/search.h
The file was addedlibcxx/include/__algorithm/fill.h
The file was addedlibcxx/include/__algorithm/count.h
The file was addedlibcxx/include/__algorithm/shift_left.h
The file was addedlibcxx/include/__algorithm/lower_bound.h
The file was addedlibcxx/include/__algorithm/half_positive.h
The file was addedlibcxx/include/__algorithm/max.h
The file was addedlibcxx/include/__algorithm/unwrap_iter.h
The file was addedlibcxx/include/__algorithm/copy.h
The file was addedlibcxx/include/__algorithm/copy_n.h
The file was modifiedlibcxx/include/CMakeLists.txt
The file was addedlibcxx/include/__algorithm/set_difference.h
The file was modifiedlibcxx/include/random
The file was addedlibcxx/include/__algorithm/transform.h
The file was addedlibcxx/include/__algorithm/none_of.h
The file was addedlibcxx/include/__algorithm/sift_down.h
The file was addedlibcxx/include/__algorithm/inplace_merge.h
The file was addedlibcxx/include/__algorithm/find.h
The file was addedlibcxx/include/__algorithm/lexicographical_compare.h
The file was addedlibcxx/include/__algorithm/unique.h
The file was modifiedlibcxx/test/std/algorithms/alg.modifying.operations/alg.random.sample/sample.fail.cpp
The file was addedlibcxx/include/__algorithm/binary_search.h
The file was addedlibcxx/include/__algorithm/sample.h
The file was addedlibcxx/include/__algorithm/shift_right.h
The file was addedlibcxx/include/__algorithm/equal.h
The file was addedlibcxx/include/__algorithm/stable_partition.h
The file was addedlibcxx/include/__algorithm/copy_if.h
The file was addedlibcxx/include/__algorithm/rotate_copy.h
The file was addedlibcxx/include/__algorithm/min.h
The file was addedlibcxx/include/__algorithm/next_permutation.h
The file was addedlibcxx/include/__algorithm/make_heap.h
The file was addedlibcxx/include/__algorithm/comp_ref_type.h
The file was modifiedlibcxx/include/algorithm
The file was addedlibcxx/include/__algorithm/find_if_not.h
The file was addedlibcxx/include/__algorithm/replace_copy.h
The file was addedlibcxx/include/__algorithm/is_permutation.h
The file was addedlibcxx/include/__algorithm/find_if.h
The file was addedlibcxx/include/__algorithm/adjacent_find.h
The file was addedlibcxx/include/__algorithm/mismatch.h
The file was addedlibcxx/include/__algorithm/merge.h
The file was addedlibcxx/include/__algorithm/is_sorted.h
The file was addedlibcxx/include/__algorithm/search.h
The file was addedlibcxx/include/__algorithm/partition_point.h
The file was addedlibcxx/include/__algorithm/min_element.h
The file was addedlibcxx/include/__algorithm/stable_sort.h
The file was addedlibcxx/include/__algorithm/find_first_of.h
The file was addedlibcxx/include/__algorithm/replace.h
The file was addedlibcxx/include/__algorithm/count_if.h
The file was modifiedlibcxx/include/__memory/temporary_buffer.h
The file was addedlibcxx/include/__algorithm/reverse_copy.h
The file was modifiedlibcxx/include/experimental/functional
The file was addedlibcxx/include/__algorithm/any_of.h
The file was addedlibcxx/include/__algorithm/is_heap_until.h
The file was addedlibcxx/include/__algorithm/upper_bound.h
The file was addedlibcxx/include/__algorithm/includes.h
The file was addedlibcxx/include/__algorithm/partial_sort_copy.h
The file was addedlibcxx/include/__algorithm/for_each.h
The file was addedlibcxx/include/__algorithm/reverse.h
The file was addedlibcxx/include/__algorithm/max_element.h
The file was addedlibcxx/include/__algorithm/shuffle.h
The file was addedlibcxx/include/__algorithm/search_n.h
The file was addedlibcxx/include/__algorithm/generate_n.h
The file was addedlibcxx/include/__algorithm/is_heap.h
The file was addedlibcxx/include/__algorithm/minmax_element.h
The file was addedlibcxx/include/__algorithm/move_backward.h
The file was addedlibcxx/include/__algorithm/pop_heap.h
The file was addedlibcxx/include/__algorithm/set_union.h
The file was addedlibcxx/include/__algorithm/replace_if.h
The file was addedlibcxx/include/__algorithm/remove_if.h
The file was addedlibcxx/include/__algorithm/sort_heap.h
The file was addedlibcxx/include/__algorithm/prev_permutation.h
The file was addedlibcxx/include/__algorithm/fill_n.h
The file was addedlibcxx/include/__algorithm/unique_copy.h
The file was addedlibcxx/include/__algorithm/comp.h
The file was addedlibcxx/include/__algorithm/generate.h
The file was addedlibcxx/include/__algorithm/sort.h
The file was addedlibcxx/include/__algorithm/nth_element.h
The file was addedlibcxx/include/__algorithm/clamp.h
The file was addedlibcxx/include/__algorithm/is_sorted_until.h
The file was modifiedlibcxx/include/regex
The file was addedlibcxx/include/__algorithm/remove_copy.h
The file was addedlibcxx/include/__algorithm/partial_sort.h
The file was modifiedlibcxx/test/std/algorithms/alg.sorting/alg.min.max/requires_forward_iterator.fail.cpp
The file was addedlibcxx/include/__algorithm/remove.h
The file was addedlibcxx/include/__algorithm/minmax.h
The file was addedlibcxx/include/__algorithm/remove_copy_if.h
The file was modifiedlibcxx/include/functional
The file was addedlibcxx/include/__algorithm/partition.h
The file was addedlibcxx/include/__algorithm/set_intersection.h
The file was addedlibcxx/include/__random/uniform_int_distribution.h
Commit 2ec672dcdf4b72523bbee50c2be0d02fc38be660 by llvmgnsyncbot
[gn build] Port 134723edd5bf
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 9abaf5c359ca29fcdd4f42b72ae0a62f18626180 by melanie.blower
Revert "[clang][FPEnv] Clang floatng point model ffp-model=precise enables ffp-contract=on"

This reverts commit a1449a10dbcfcf353f4f761281c4e572b4ce9308.
Seems like my changes to LNT had no effect -- puzzled.
The 21 tests pass on my sandbox with the clang patch but are
failing in exec time in the bot
The file was modifiedclang/test/CodeGen/ffp-contract-option.c
The file was modifiedclang/test/CodeGen/ppc-xmmintrin.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/fp-model.c
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/test/CodeGen/ppc-emmintrin.c
Commit 18dbe6897857944653ee8f68dca8d63bc38aaff8 by tomas.matheson
[ARM][NFC] Tidy up subtarget frame pointer routines

getFramePointerReg only depends on information in ARMSubtarget,
so move it in there so it can be accessed from more places.

Make use of ARMSubtarget::getFramePointerReg to remove duplicated code.

The main use of useR7AsFramePointer is getFramePointerReg, so inline it.

Differential Revision: https://reviews.llvm.org/D104476
The file was modifiedllvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/lib/Target/ARM/ARMAsmPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/Thumb1FrameLowering.cpp
Commit 1bcfa84ae908ddcf042163345ffee2d247669e60 by tomas.matheson
Allow building for release with EXPENSIVE_CHECKS

D97225 moved LazyCallGraph verify() calls behind EXPENSIVE_CHECKS,
but verity() is defined for debug builds only so this had the unintended
effect of breaking release builds with EXPENSIVE_CHECKS.

Fix by enabling verify() for both debug and EXPENSIVE_CHECKS.

Differential Revision: https://reviews.llvm.org/D104514
The file was modifiedllvm/include/llvm/Analysis/LazyCallGraph.h
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp
Commit decfad7d8e9b268654dd2d76a7f5f777502b60a6 by Saleem Abdulrasool
Revert "Re-Revert "DirectoryWatcher: add an implementation for Windows""

This reverts commit fb32de9e97af0921242a021e30020ffacf7aa6e2.

Remove the secondary synchronization point as noted by Adrian.  This is
technically only to make the builders happier about tests and should not
be needed.  This also pushes the condition variable setting to after the
watch is actually established (which was the source of the original race
condition, but would normally succeed as the thread shouldn't get put to
sleep immediately on the trigger of the condition variable).

This also was pretested on the chromium builders:
https://ci.chromium.org/ui/p/chromium/builders/try/win_upload_clang/1612/overview.
The file was modifiedclang/unittests/DirectoryWatcher/CMakeLists.txt
The file was modifiedclang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp
Commit 328b21a3389cf04e50bf9fb7b295c1d6af6f60d3 by spatel
[InstCombine][test] add tests for select-of-bit-manip; NFC
The file was addedllvm/test/Transforms/InstCombine/intrinsic-select.ll
Commit 940efa4f6981964c95a69ff412378722438607bf by michael.hliao
[amdgpu] Improve the from f32 to i64.

- Take the same principle as the conversion from f64 to i64 with extra
  necessary pre- and post-processing. It helps to reduce that conversion
  sequence by half compared to legacy one.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D104427
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptosi.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/fp_to_uint.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptoui.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/fp_to_sint.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit b9c05aff205bab3f8ca639e44b825277d6cf48a9 by michael.hliao
[MIRPrinter] Add machine metadata support.

- Distinct metadata needs generating in the codegen to attach correct
  AAInfo on the loads/stores after lowering, merging, and other relevant
  transformations.
- This patch adds 'MachhineModuleSlotTracker' to help assign slot
  numbers to these newly generated unnamed metadata nodes.
- To help 'MachhineModuleSlotTracker' track machine metadata, the
  original 'SlotTracker' is rebased from 'AbstractSlotTrackerStorage',
  which provides basic interfaces to create/retrive metadata slots. In
  addition, once LLVM IR is processsed, additional hooks are also
  introduced to help collect machine metadata and assign them slot
  numbers.
- Finally, if there is any such machine metadata, 'MIRPrinter' outputs
  an additional 'machineMetadataNodes' field containing all the
  definition of those nodes.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D103205
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was modifiedllvm/unittests/CodeGen/CMakeLists.txt
The file was addedllvm/unittests/MIR/CMakeLists.txt
The file was addedllvm/unittests/MIR/MachineMetadata.cpp
The file was addedllvm/include/llvm/CodeGen/MachineModuleSlotTracker.h
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
The file was modifiedllvm/lib/IR/AsmWriter.cpp
The file was modifiedllvm/unittests/CMakeLists.txt
The file was modifiedllvm/include/llvm/IR/ModuleSlotTracker.h
The file was addedllvm/lib/CodeGen/MachineModuleSlotTracker.cpp
The file was modifiedllvm/include/llvm/CodeGen/MIRYamlMapping.h
Commit 17271ece0da69c4dde0bbab60883b7fdd05be131 by thakis
[lld/mac] Give __DATA,__thread_ptrs type S_THREAD_LOCAL_VARIABLE_POINTERS

...instead of S_NON_LAZY_SYMBOL_POINTERS. This matches ld64.

Part of PR50769.

While here, also remove an old TODO that was done in D87178.

Differential Revision: https://reviews.llvm.org/D104594
The file was modifiedlld/test/MachO/tlv.s
The file was modifiedlld/test/MachO/tlv-dylib.s
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/MachO/SyntheticSections.h
Commit c931e12b1d517ca2d0b1dbcb90f65b770046ef3e by thakis
[lld/mac] Make sure __thread_ptrs is in front of __thread_bss

The exact location doesn't matter, but it should be in front
of __thread_bss. We put it right in front of __thread_data
which is where ld64 seems to put it as well.

Fixes PR50769.

(As mentioned on the bug, there is probably a more structural
fix too, see comment 5. If we don't address this, it's likely
we'll run into this again with other synthetic sections. But
for now, let's fix the immediate breakage.)

Differential Revision: https://reviews.llvm.org/D104596
The file was modifiedlld/MachO/OutputSegment.cpp
The file was modifiedlld/test/MachO/tlv-dylib.s
Commit 1605fce6c3074f8d1dff5a917a1840ffa66abd86 by thakis
[gn build] (manually) port b9c05aff205b (MIRTests)
The file was addedllvm/utils/gn/secondary/llvm/unittests/MIR/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit 59d90fe817b5f1feae1a1406bd487e6552b9928d by i
Simplify some typedef struct
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCFastISel.cpp
Commit 834aafa55bd175efce0575e6e596f19cdf317d91 by lebedev.ri
[NFC] AMD Zen 3: fix typo in a comment
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver3.td
Commit b663f30fa45ce86c8a3362624b87ccb372bd036a by craig.topper
[RISCV] Prevent formation of shXadd(.uw) and add.uw if it prevents the use of addi.

If the outer add has an simm12 immediate operand we should prefer
it instead of materializing it in a register. This would guarantee
and extra instruction and temporary register. Since we don't check
one use on the shl or zext we might generate more instructions if
there is an additional user.
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
Commit 0f558db742fa52745f475d84336f88f04380e2fb by i
[llvm-profdata] Delete unneeded empty output filename check
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
Commit 1c8bb625b716b647206bcf5f51ac1c356ec2985e by martin
[LLD] [MinGW] Print errors/warnings in lld-link with a "ld.lld" prefix

Pass the original argv[0] to the coff linker, as the coff linker uses
the basename of argv[0] as the log prefix.

This makes error messages to be printed with a "ld.lld:" prefix
instead of "lld-link:". The current "lld-link:" prefix can be confusing
to users, as they're invoking the MinGW linker (and might not even have
a lld-link executable).

Keep the first argument as lld-link when printing the command line, to
make it an actually reproducible standalone command.

Differential Revision: https://reviews.llvm.org/D104526
The file was modifiedlld/MinGW/Driver.cpp
The file was modifiedlld/test/MinGW/driver.test
Commit e1adf90826a57b674eee79b071fb46c1f5683cd0 by martin
[LLD] [COFF] Avoid doing repeated fuzzy symbol lookup for each iteration. NFC.

This is run every time around in the main linker loop. Once a match
has been found, stop trying to rematch such a symbol.

Not sure if this has any actual measurable performance impact though
(SymbolTable::findMangle() iterates over the whole symbol table for
each call and does fuzzy matching on top of that) but this makes the
code more reassuring to read at least. (This is in practice run for def
files listing undecorated stdcall functions to be exported.)

Differential Revision: https://reviews.llvm.org/D104529
The file was modifiedlld/COFF/Driver.cpp
Commit d85c258fd1e7459cc8085b5f364e356f50b490a4 by phosek
[profile] Don't publish VMO if there are no counters

If there are no counters, there's no need to publish the VMO.

Differential Revision: https://reviews.llvm.org/D102786
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c
Commit 8ea2a58a2ec6dcfc33ddab8deeb9eb0e69968c6d by i
[llvm-profdata] Make diagnostics consistent with the (no capitalization, no period) style

The format is currently inconsistent. Use the https://llvm.org/docs/CodingStandards.html#error-and-warning-messages style.

And add `error:` or `warning:` to CHECK lines wherever appropriate.
The file was modifiedcompiler-rt/test/profile/instrprof-write-buffer-internal.c
The file was modifiedllvm/test/tools/llvm-profdata/weight-instr.test
The file was modifiedllvm/test/tools/llvm-profdata/threaded-count-mismatch.test
The file was modifiedllvm/test/tools/llvm-profdata/invalid-profdata.test
The file was modifiedllvm/test/tools/llvm-profdata/overflow-instr.test
The file was modifiedllvm/test/tools/llvm-profdata/weight-sample.test
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was modifiedllvm/test/tools/llvm-profdata/invalid-profile-gen-zeros.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/diag_mismatch.ll
The file was modifiedllvm/test/Transforms/PGOProfile/diag_no_funcprofdata.ll
The file was modifiedllvm/test/tools/llvm-profdata/count-mismatch.proftext
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/test/tools/llvm-profdata/raw-magic-but-no-header.test
The file was modifiedllvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
The file was modifiedllvm/test/tools/llvm-profdata/text-format-errors.test
The file was modifiedllvm/test/tools/llvm-profdata/text-dump.test
Commit d4c2b973ed229a4bf3af04c34d5f19a363d55667 by phosek
[profile] Fix variable name

This fixes a bug introduced in d85c258fd1e7459cc8085b5f364e356f50b490a4.
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c
Commit cee85fcd766c61a821092566b79e7e6aabf74e5f by i
[test] Fix nocompress.test
The file was modifiedllvm/test/tools/llvm-profdata/nocompress.test
Commit f075760317663d60181183ad1643953f91b07be3 by llvm-project
[Flang][test] Fix Windows buildbot.

Add

    REQUIRES: shell

to tests that execute a UNIX shell script to not run on Windows.
The file was modifiedflang/test/Evaluate/folding20.f90
The file was modifiedflang/test/Semantics/omp-allocate08.f90
The file was modifiedflang/test/Semantics/omp-nested-barrier.f90
The file was modifiedflang/test/Semantics/call19.f90
Commit e85eecff30685ef135d191f654a89f5c3b64fb5e by i
[llvm-cov gcov] Change case to match the prevailing style && replace getString with readString
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
The file was modifiedllvm/include/llvm/ProfileData/GCOV.h
Commit 0873016ceff3ded84bfeaa37b39be675fa178f7d by i
[llvm-cov gcov] Support GCC 12 format

GCC 12 will change the length field to represent the number of bytes instead of
32-bit words. This avoids padding for strings.
The file was modifiedllvm/include/llvm/ProfileData/GCOV.h
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-12.gcda
The file was addedllvm/test/tools/llvm-cov/gcov/gcov-12.c
The file was modifiedllvm/lib/ProfileData/GCOV.cpp
The file was addedllvm/test/tools/llvm-cov/gcov/Inputs/gcov-12.gcno
Commit 09e8c0d5aaef9f1157460a3ae6ae77c7a2f0966f by aqjune
[InstSimplify] icmp poison, X -> poison

This adds a simple transformation from icmp with poison constant to poison.
Comparing poison with something else is poison, so this is okay.

https://alive2.llvm.org/ce/z/e8iReb
https://alive2.llvm.org/ce/z/q4MurY
The file was modifiedllvm/test/Transforms/InstCombine/udiv-simplify.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/icmp.ll
The file was modifiedllvm/test/Transforms/InstCombine/getelementptr.ll