[all-commits] [llvm/llvm-project] ef1b6d: Add Pre-Optimization FunctionPropertiesStatistics ...
Sameer Sahasrabuddhe via All-commits
all-commits at lists.llvm.org
Wed May 27 07:07:48 PDT 2026
Branch: refs/heads/users/ssahasra/refactor-acq-rel
Home: https://github.com/llvm/llvm-project
Commit: ef1b6d232216d3c1c8a5742ed1ef926cdd22be39
https://github.com/llvm/llvm-project/commit/ef1b6d232216d3c1c8a5742ed1ef926cdd22be39
Author: Iñaki V Arrechea <inakiarrechea at google.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/IR/FunctionProperties.def
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Analysis/FunctionPropertiesAnalysis/func-properties-analysis.ll
A llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
R llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll
Log Message:
-----------
Add Pre-Optimization FunctionPropertiesStatistics Pass - All Properties (#199293)
Adding a PreOptimization pass for function properties that provides the
statistics preoptimization without leading to timeouts (also thanks to
https://github.com/llvm/llvm-project/pull/198940 and internal changes on the faulty target)
First iteration led to timeouts so it got reverted
https://github.com/llvm/llvm-project/pull/188837
(UPDATE) Through a flame graph proved that changes in
https://github.com/llvm/llvm-project/pull/198940 , mainly the change
inside the loop, was the one responsible for the timeout. Flame graph spent a majority of the time on updateForBB, and it's the only part there could be a blocker. Furthermore, target was fixed internally.
Previous iteration tried to get only some of the statistics, but managed
to prove locally that it's not necessary to distinguish between them
https://github.com/llvm/llvm-project/pull/199073 since the changes mentioned previously were good enough
Commit: 7de3f46cf771180a4b83eacf3d2218f175f23166
https://github.com/llvm/llvm-project/commit/7de3f46cf771180a4b83eacf3d2218f175f23166
Author: Iris Shi <0.0 at owo.li>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/call.ll
Log Message:
-----------
[InstSimplify] Fold fshl/fshr of complementary shifts to identity (#196887)
Commit: f0ae26c925ef85dd1e6f5217afcdb620641e8db5
https://github.com/llvm/llvm-project/commit/f0ae26c925ef85dd1e6f5217afcdb620641e8db5
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/issue-release-workflow.yml
Log Message:
-----------
workflows/issue-release-workflow: Fix bug when specifying multiple commits (#199973)
All commits after the first one were being dropped in comments like
/cherry-pick <commit> <commit> ...
This was introduced by: 21df17aaaec2dd9dafd641c5dbfd96446c27921b
Commit: 78f5f7717a2e058c4d685feb3edb7d991efacbc2
https://github.com/llvm/llvm-project/commit/78f5f7717a2e058c4d685feb3edb7d991efacbc2
Author: Amy Kwan <amy.kwan1 at ibm.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/ppc-i64-to-fp.ll
Log Message:
-----------
[PowerPC] Drop invalid range metadata when lowering i64 load to fp in INT_TO_FP (#198705)
When lowering an i64 load in LowerINT_TO_FP, we were forwarding the
original !range metadata to a new f64 load. This is invalid because the
metadata no longer matches the value type/semantics, and can trigger
assertions when lowering i64 to fp (double or float) conversions.
This patch fixes this by passing a nullptr for the Ranges operand when
calling getLoad() and adds extra test cases to cover signed/unsigned i64
to f32/f64 conversions and to ensure they do not assert when the !range
metadata is present.
The assertion this patch attempts to fix is:
```
Assertion failed: (!MMO->getRanges() || (mdconst::extract<ConstantInt>(MMO->getRanges()->getOperand(0)) ->getBitWidth() == MemVT.getScalarSizeInBits() && MemVT.isInteger())) && "Range metadata and load type must match!"
```
This assert was originally seen when building Rust on AIX.
Commit: 1e1a1ff8a6c6d9bc7f0044c79c6cfe0819246e00
https://github.com/llvm/llvm-project/commit/1e1a1ff8a6c6d9bc7f0044c79c6cfe0819246e00
Author: Tom Stellard <tstellar at redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/release-binaries-all.yml
Log Message:
-----------
workflows/release-binaries-all: Validate input and remove template expansion (#199427)
https://github.com/llvm/llvm-project/security/code-scanning/1695
Commit: 81c523c71c92bea4c5548b5f84288acd0f05db42
https://github.com/llvm/llvm-project/commit/81c523c71c92bea4c5548b5f84288acd0f05db42
Author: Balázs Benics <benicsbalazs at gmail.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
A clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
R clang/unittests/ScalableStaticAnalysisFramework/SSAFBuiltinTestForceLinker.h
R clang/unittests/ScalableStaticAnalysisFramework/SSAFTestForceLinker.h
M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
Log Message:
-----------
Reapply "[clang][ssaf][NFC] Rework how the Force linker anchors are defined and used" (#194693)
This reverts commit 582958c4337f539e650096c0257a322315298e1a.
Drop "const" from these anchor variables - like they are in clang-tidy
Turns out, MSVC likely doesn't conform with the C++ standard and makes
`const volatile` global variables have *internal* linkage - while they
should have *external* linkage.
https://eel.is/c++draft/basic.link#3.2
```
(3) The name of an entity that belongs to a namespace scope has internal linkage if it is the name of
(3.1) a variable, variable template, function, or function template that is explicitly declared static; or
(3.2) a non-template variable of non-volatile const-qualified type, unless
(3.2.1) it is declared in the purview of a module interface unit (outside the private-module-fragment, if any) or module partition, or
(3.2.2) it is explicitly declared extern, or
(3.2.3) it is inline, or
(3.2.4) it was previously declared and the prior declaration did not have internal linkage; or
```
Consequently, `const volatile` globals should NOT have *internal*
linkage, because `volatile` variables are exempt by (3.2).
Commit: 3c777523cc0cdd5ed42df325c8bde7f3a553cebd
https://github.com/llvm/llvm-project/commit/3c777523cc0cdd5ed42df325c8bde7f3a553cebd
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M .github/workflows/issue-release-workflow.yml
M .github/workflows/release-binaries-all.yml
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/ForceLinkerHeaders.rst
M clang/docs/ScalableStaticAnalysisFramework/developer-docs/HowToExtend.rst
A clang/include/clang/ScalableStaticAnalysisFramework/BuiltinAnchorSources.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormatRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/TUSummary/ExtractorRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.h
M clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphJSONFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageAnalysis.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageExtractor.cpp
M clang/lib/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageFormat.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/AnalysisRegistry.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/FancyAnalysisData.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor1.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSummaryExtractor2.cpp
R clang/unittests/ScalableStaticAnalysisFramework/SSAFBuiltinTestForceLinker.h
R clang/unittests/ScalableStaticAnalysisFramework/SSAFTestForceLinker.h
M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.cpp
M clang/unittests/ScalableStaticAnalysisFramework/WholeProgramAnalysis/AnalysisDriverTest.cpp
M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
M llvm/include/llvm/IR/FunctionProperties.def
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/Analysis/FunctionPropertiesAnalysis/func-properties-analysis.ll
A llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
R llvm/test/Analysis/FunctionPropertiesAnalysis/properties-stats.ll
A llvm/test/CodeGen/PowerPC/ppc-i64-to-fp.ll
M llvm/test/Transforms/InstSimplify/call.ll
Log Message:
-----------
Merge remote-tracking branch 'upstream/main' into users/ssahasra/refactor-acq-rel
Compare: https://github.com/llvm/llvm-project/compare/2b8776c60034...3c777523cc0c
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list