SuccessChanges

Summary

  1. [mlir][pdl] Fix bug when ordering predicates (details)
  2. [mlir][pdl][NFC] Extract the execution of each bytecode operation into its own function (details)
  3. [libc] [Obvious] Fix. (details)
  4. [Analysis] Use ListSeparator (NFC) (details)
  5. [llvm] Use llvm::drop_begin (NFC) (details)
  6. [Analysis] Use range-based for loops (NFC) (details)
  7. Only verify LazyCallGraph under expensive checks (details)
  8. [BuildLibCalls] Add noundef to allocator fns' size (details)
  9. [libc][NFC] Eliminate couple of dependencies on llvm/ADT/StringExtras.h. (details)
Commit ddd556f10e382e64003c98fa9308ce1860cc2ad6 by riddleriver
[mlir][pdl] Fix bug when ordering predicates

We should be ordering predicates with higher primary/secondary sums first, but we are currently ordering them last. This allows for predicates more frequently encountered to be checked first.

Differential Revision: https://reviews.llvm.org/D95715
The file was modifiedmlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
The file was modifiedmlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
Commit 154cabe722de4d9837d49790e913d2b511f17d70 by riddleriver
[mlir][pdl][NFC] Extract the execution of each bytecode operation into its own function

This makes the implementation of each bytecode operation much easier to reason about, and lets the compiler decide which implementations are beneficial to inline into the main switch.

Differential Revision: https://reviews.llvm.org/D95716
The file was modifiedmlir/lib/Rewrite/ByteCode.cpp
Commit 80bea4a0d58178e3077bc320282d4cdf07e9c1ca by rtenneti
[libc] [Obvious] Fix.
The file was modifiedlibc/src/time/time_utils.h
The file was modifiedlibc/src/time/mktime.cpp
Commit 871affc5e779b6004d8fe8071a3b1a353c5ca8a0 by kazu
[Analysis] Use ListSeparator (NFC)
The file was modifiedllvm/lib/Analysis/CallGraphSCCPass.cpp
Commit 4ed47858ab7683729827af80c7b791c23249e627 by kazu
[llvm] Use llvm::drop_begin (NFC)
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Commit 896d0e1a2a79caad35ede3385bbcfd7fe0702b43 by kazu
[Analysis] Use range-based for loops (NFC)
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
The file was modifiedllvm/lib/Analysis/AliasSetTracker.cpp
The file was modifiedllvm/lib/Analysis/LoopInfo.cpp
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/lib/Analysis/DivergenceAnalysis.cpp
The file was modifiedllvm/lib/Analysis/ModuleSummaryAnalysis.cpp
The file was modifiedllvm/lib/Analysis/IVDescriptors.cpp
Commit 468fa037b2a15a40f17329a995d058dda6049d28 by aeubanks
Only verify LazyCallGraph under expensive checks

These verify calls are causing a lot of slowdown on some files, up to 8x.
The LazyCallGraph infra has been tested a lot over the years, so I'm fairly confident that we don't always need to run the verifys.

These verifies took >90% of total time in one of the compilations I looked at.

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D97225
The file was modifiedllvm/lib/Analysis/LazyCallGraph.cpp
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
Commit 481c62277d5669e15e6a0ec14240c5f5410ca954 by aqjune
[BuildLibCalls] Add noundef to allocator fns' size

This is a patch to explicitly mark the size parameter of allocator functions like malloc/realloc/... as noundef.

For C/C++: undef can be created from reading an uninitialized variable or padding.
Calling a function with uninitialized variable is already UB.
Calling malloc with padding value is.. something that's not expected. Padding bits may appear in a coerced aggregate, which doesn't apply to malloc's size.
Therefore, malloc's size can be marked as noundef.

For transformations that introduce malloc/realloc/..: I ran LLVM unit tests with an updated Alive2 semantics, and found no regression, so it seems okay.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D97045
The file was modifiedllvm/lib/Transforms/Utils/BuildLibCalls.cpp
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/annotate.ll
Commit 881402ce62f7dbcf9704787b5d5d3ed691a30730 by sivachandra
[libc][NFC] Eliminate couple of dependencies on llvm/ADT/StringExtras.h.
The file was modifiedlibc/utils/FPUtil/TestHelpers.cpp
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp

Summary

  1. [test-suite] Raise minimum required CMake version to match LLVM. (details)
Commit 0b0305c689d973362dee689cadb1bb21ce4a82f2 by naromero
[test-suite] Raise minimum required CMake version to match LLVM.

Test-suite was using an old version of CMake. Raise minimum CMake version to match minimum required by LLVM. Additionally, the Fortran Test Suite requires at least 3.7 due to Ninja.

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D97248
The file was modifiedCMakeLists.txt (diff)