Skip to content

Conversation

@kazutakahirata
Copy link
Contributor

No description provided.

@kazutakahirata kazutakahirata requested a review from nikic as a code owner March 29, 2025 22:15
@kazutakahirata kazutakahirata requested a review from kuhar March 29, 2025 22:15
@llvmbot llvmbot added the llvm:analysis Includes value tracking, cost tables and constant folding label Mar 29, 2025
@llvmbot
Copy link
Member

llvmbot commented Mar 29, 2025

@llvm/pr-subscribers-llvm-analysis

Author: Kazu Hirata (kazutakahirata)

Changes

Full diff: https://github.com/llvm/llvm-project/pull/133602.diff

4 Files Affected:

  • (modified) llvm/lib/Analysis/IRSimilarityIdentifier.cpp (+1-2)
  • (modified) llvm/lib/Analysis/IVDescriptors.cpp (+2-5)
  • (modified) llvm/lib/Analysis/LoopAccessAnalysis.cpp (+1-2)
  • (modified) llvm/lib/Analysis/ScalarEvolution.cpp (+3-6)
diff --git a/llvm/lib/Analysis/IRSimilarityIdentifier.cpp b/llvm/lib/Analysis/IRSimilarityIdentifier.cpp
index ca011362702ac..a6af7304b1c7e 100644
--- a/llvm/lib/Analysis/IRSimilarityIdentifier.cpp
+++ b/llvm/lib/Analysis/IRSimilarityIdentifier.cpp
@@ -78,8 +78,7 @@ void IRInstructionData::initializeInstruction() {
   // We capture the incoming BasicBlocks as values as well as the incoming
   // Values in order to check for structural similarity.
   if (PHINode *PN = dyn_cast<PHINode>(Inst))
-    for (BasicBlock *BB : PN->blocks())
-      OperVals.push_back(BB);
+    llvm::append_range(OperVals, PN->blocks());
 }
 
 IRInstructionData::IRInstructionData(IRInstructionDataList &IDList)
diff --git a/llvm/lib/Analysis/IVDescriptors.cpp b/llvm/lib/Analysis/IVDescriptors.cpp
index 45b5b2979a562..94c347b01bbfb 100644
--- a/llvm/lib/Analysis/IVDescriptors.cpp
+++ b/llvm/lib/Analysis/IVDescriptors.cpp
@@ -1296,11 +1296,8 @@ InductionDescriptor::InductionDescriptor(Value *Start, InductionKind K,
             InductionBinOp->getOpcode() == Instruction::FSub))) &&
          "Binary opcode should be specified for FP induction");
 
-  if (Casts) {
-    for (auto &Inst : *Casts) {
-      RedundantCasts.push_back(Inst);
-    }
-  }
+  if (Casts)
+    llvm::append_range(RedundantCasts, *Casts);
 }
 
 ConstantInt *InductionDescriptor::getConstIntStepValue() const {
diff --git a/llvm/lib/Analysis/LoopAccessAnalysis.cpp b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
index 57a76bc7a81e5..7f1b5dc3890a9 100644
--- a/llvm/lib/Analysis/LoopAccessAnalysis.cpp
+++ b/llvm/lib/Analysis/LoopAccessAnalysis.cpp
@@ -913,8 +913,7 @@ static void visitPointers(Value *StartPtr, const Loop &InnermostLoop,
     // value.
     if (PN && InnermostLoop.contains(PN->getParent()) &&
         PN->getParent() != InnermostLoop.getHeader()) {
-      for (const Use &Inc : PN->incoming_values())
-        WorkList.push_back(Inc);
+      llvm::append_range(WorkList, PN->incoming_values());
     } else
       AddPointer(Ptr);
   }
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp
index 600a061d4435e..361206719287a 100644
--- a/llvm/lib/Analysis/ScalarEvolution.cpp
+++ b/llvm/lib/Analysis/ScalarEvolution.cpp
@@ -4221,8 +4221,7 @@ bool ScalarEvolution::canReuseInstruction(
     if (I->hasPoisonGeneratingAnnotations())
       DropPoisonGeneratingInsts.push_back(I);
 
-    for (Value *Op : I->operands())
-      Worklist.push_back(Op);
+    llvm::append_range(Worklist, I->operands());
   }
   return true;
 }
@@ -7622,8 +7621,7 @@ ScalarEvolution::getOperandsToCreate(Value *V, SmallVectorImpl<Value *> &Ops) {
   case Instruction::GetElementPtr:
     assert(cast<GEPOperator>(U)->getSourceElementType()->isSized() &&
            "GEP source element type must be sized");
-    for (Value *Index : U->operands())
-      Ops.push_back(Index);
+    llvm::append_range(Ops, U->operands());
     return nullptr;
 
   case Instruction::IntToPtr:
@@ -7656,8 +7654,7 @@ ScalarEvolution::getOperandsToCreate(Value *V, SmallVectorImpl<Value *> &Ops) {
     if (CanSimplifyToUnknown())
       return getUnknown(U);
 
-    for (Value *Inc : U->operands())
-      Ops.push_back(Inc);
+    llvm::append_range(Ops, U->operands());
     return nullptr;
     break;
   }

@kazutakahirata kazutakahirata merged commit 8f5c3de into llvm:main Mar 29, 2025
13 checks passed
@kazutakahirata kazutakahirata deleted the cleanup_001_append_range_llvm_Analisys branch March 29, 2025 23:52
@llvm-ci
Copy link
Collaborator

llvm-ci commented Mar 29, 2025

LLVM Buildbot has detected a new failure on builder clang-cmake-x86_64-avx512-win running on avx512-intel64-win while building llvm at step 4 "cmake stage 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/81/builds/5789

Here is the relevant piece of the build log for the reference
Step 4 (cmake stage 1) failure: 'cmake -G ...' (failure)
'cmake' is not recognized as an internal or external command,
operable program or batch file.

@llvm-ci
Copy link
Collaborator

llvm-ci commented Mar 30, 2025

LLVM Buildbot has detected a new failure on builder clang-aarch64-sve-vla running on linaro-g3-04 while building llvm at step 7 "ninja check 1".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/17/builds/6867

Here is the relevant piece of the build log for the reference
Step 7 (ninja check 1) failure: stage 1 checked (failure)
...
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/ld64.lld
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/wasm-ld
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/discovery.py:276: warning: input '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/interception/Unit' contained no tests
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/discovery.py:276: warning: input '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/runtimes/runtimes-bins/compiler-rt/test/sanitizer_common/Unit' contained no tests
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/llvm/config.py:520: note: using ld.lld: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/ld.lld
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/llvm/config.py:520: note: using lld-link: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/lld-link
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/llvm/config.py:520: note: using ld64.lld: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/ld64.lld
llvm-lit: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/llvm/llvm/utils/lit/lit/llvm/config.py:520: note: using wasm-ld: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla/stage1/bin/wasm-ld
-- Testing: 97483 tests, 64 workers --
UNRESOLVED: Flang :: Driver/slp-vectorize.ll (1 of 97483)
******************** TEST 'Flang :: Driver/slp-vectorize.ll' FAILED ********************
Test has no 'RUN:' line
********************
PASS: MemorySanitizer-AARCH64 :: release_origin.c (2 of 97483)
PASS: LLVM-Unit :: Support/./SupportTests/83/95 (3 of 97483)
PASS: UBSan-MemorySanitizer-aarch64 :: TestCases/ImplicitConversion/signed-integer-truncation-ignorelist.c (4 of 97483)
PASS: Clang :: Driver/clang_f_opts.c (5 of 97483)
PASS: Clang :: Headers/arm-neon-header.c (6 of 97483)
PASS: libFuzzer-aarch64-default-Linux :: fuzzer-timeout.test (7 of 97483)
PASS: ThreadSanitizer-aarch64 :: force_background_thread.cpp (8 of 97483)
PASS: Clang :: OpenMP/target_simd_codegen_registration.cpp (9 of 97483)
PASS: SanitizerCommon-tsan-aarch64-Linux :: Linux/signal_segv_handler.cpp (10 of 97483)
PASS: UBSan-AddressSanitizer-aarch64 :: TestCases/ImplicitConversion/signed-integer-truncation-ignorelist.c (11 of 97483)
PASS: LLVM :: CodeGen/ARM/build-attributes.ll (12 of 97483)
PASS: ThreadSanitizer-aarch64 :: stress.cpp (13 of 97483)
PASS: Clang :: Driver/linux-ld.c (14 of 97483)
PASS: Clang :: OpenMP/target_parallel_for_simd_codegen_registration.cpp (15 of 97483)
PASS: Clang :: OpenMP/target_teams_distribute_codegen_registration.cpp (16 of 97483)
PASS: ThreadSanitizer-aarch64 :: signal_thread.cpp (17 of 97483)
PASS: HWAddressSanitizer-aarch64 :: TestCases/Linux/create-thread-stress.cpp (18 of 97483)
PASS: Clang :: OpenMP/target_teams_distribute_simd_codegen_registration.cpp (19 of 97483)
PASS: SanitizerCommon-hwasan-aarch64-Linux :: Linux/signal_segv_handler.cpp (20 of 97483)
PASS: UBSan-ThreadSanitizer-aarch64 :: TestCases/ImplicitConversion/signed-integer-truncation-ignorelist.c (21 of 97483)
PASS: Clang :: Preprocessor/predefined-arch-macros.c (22 of 97483)
PASS: UBSan-AddressSanitizer-aarch64 :: TestCases/ImplicitConversion/unsigned-integer-truncation-ignorelist.c (23 of 97483)
PASS: libFuzzer-aarch64-default-Linux :: large.test (24 of 97483)
PASS: SanitizerCommon-lsan-aarch64-Linux :: Linux/signal_segv_handler.cpp (25 of 97483)
PASS: libFuzzer-aarch64-default-Linux :: minimize_timeout.test (26 of 97483)
PASS: UBSan-ThreadSanitizer-aarch64 :: TestCases/ImplicitConversion/unsigned-integer-truncation-ignorelist.c (27 of 97483)
PASS: Clang :: OpenMP/target_parallel_for_codegen_registration.cpp (28 of 97483)
PASS: DataFlowSanitizer-aarch64 :: custom.cpp (29 of 97483)
PASS: SanitizerCommon-msan-aarch64-Linux :: Linux/signal_segv_handler.cpp (30 of 97483)
PASS: libFuzzer-aarch64-default-Linux :: swap-cmp.test (31 of 97483)
PASS: libFuzzer-aarch64-default-Linux :: value-profile-cmp.test (32 of 97483)
PASS: LLVM :: CodeGen/AMDGPU/llvm.amdgcn.permlane.ll (33 of 97483)
PASS: libFuzzer-aarch64-default-Linux :: msan.test (34 of 97483)
PASS: Clang :: Analysis/runtime-regression.c (35 of 97483)
PASS: Clang :: Preprocessor/arm-target-features.c (36 of 97483)
PASS: Clang :: Preprocessor/aarch64-target-features.c (37 of 97483)

@llvm-ci
Copy link
Collaborator

llvm-ci commented Mar 30, 2025

LLVM Buildbot has detected a new failure on builder clang-aarch64-sve-vla-2stage running on linaro-g3-01 while building llvm at step 12 "ninja check 2".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/41/builds/5829

Here is the relevant piece of the build log for the reference
Step 12 (ninja check 2) failure: stage 2 checked (failure)
...
PASS: Flang :: Driver/predefined-macros-compiler-version.F90 (25170 of 97483)
PASS: Flang :: Driver/fd-lines-as.f90 (25171 of 97483)
PASS: Flang :: Driver/print-effective-triple.f90 (25172 of 97483)
PASS: Flang :: Driver/predefined-macros-x86.f90 (25173 of 97483)
PASS: Flang :: Driver/print-resource-dir.F90 (25174 of 97483)
PASS: Flang :: Driver/override-triple.ll (25175 of 97483)
PASS: Clangd Unit Tests :: ./ClangdTests/75/81 (25176 of 97483)
PASS: Flang :: Driver/parse-error.ll (25177 of 97483)
PASS: Flang :: Driver/macro-def-undef.F90 (25178 of 97483)
UNRESOLVED: Flang :: Driver/slp-vectorize.ll (25179 of 97483)
******************** TEST 'Flang :: Driver/slp-vectorize.ll' FAILED ********************
Test has no 'RUN:' line
********************
PASS: Flang :: Driver/bbc-openmp-version-macro.f90 (25180 of 97483)
PASS: Flang :: Driver/mlir-pass-pipeline.f90 (25181 of 97483)
PASS: Flang :: Driver/phases.f90 (25182 of 97483)
PASS: Flang :: Driver/print-pipeline-passes.f90 (25183 of 97483)
PASS: Flang :: Driver/print-target-triple.f90 (25184 of 97483)
PASS: Flang :: Driver/include-header.f90 (25185 of 97483)
PASS: Flang :: Driver/linker-flags.f90 (25186 of 97483)
PASS: Flang :: Driver/mlink-builtin-bc.f90 (25187 of 97483)
PASS: Flang :: Driver/pthread.f90 (25188 of 97483)
PASS: Flang :: Driver/scanning-error.f95 (25189 of 97483)
PASS: Flang :: Driver/missing-arg.f90 (25190 of 97483)
PASS: Flang :: Driver/supported-suffices/f03-suffix.f03 (25191 of 97483)
PASS: Flang :: Driver/parse-fir-error.ll (25192 of 97483)
PASS: Flang :: Driver/std2018-wrong.f90 (25193 of 97483)
PASS: Flang :: Driver/supported-suffices/f08-suffix.f08 (25194 of 97483)
PASS: Flang :: Driver/parse-ir-error.f95 (25195 of 97483)
PASS: Flang :: Driver/tco-code-gen-llvm.fir (25196 of 97483)
PASS: Flang :: Driver/lto-bc.f90 (25197 of 97483)
PASS: Flang :: Driver/pp-fixed-form.f90 (25198 of 97483)
PASS: Flang :: Driver/target-gpu-features.f90 (25199 of 97483)
PASS: Clangd Unit Tests :: ./ClangdTests/80/81 (25200 of 97483)
PASS: Flang :: Driver/pass-plugin-not-found.f90 (25201 of 97483)
PASS: Flang :: Driver/q-unused-arguments.f90 (25202 of 97483)
PASS: Clangd Unit Tests :: ./ClangdTests/71/81 (25203 of 97483)
PASS: Flang :: Driver/target.f90 (25204 of 97483)
PASS: Flang :: Driver/config-file.f90 (25205 of 97483)
PASS: Flang :: Driver/fixed-line-length.f90 (25206 of 97483)
PASS: Flang :: Driver/unsupported-vscale-max-min.f90 (25207 of 97483)
PASS: Clangd Unit Tests :: ./ClangdTests/68/81 (25208 of 97483)
PASS: Flang :: Driver/multiple-input-files.f90 (25209 of 97483)
PASS: Flang :: Driver/unparse-with-modules.f90 (25210 of 97483)
PASS: Flang :: Driver/mllvm.f90 (25211 of 97483)
PASS: Flang :: Driver/no-duplicate-main.f90 (25212 of 97483)
PASS: Flang :: Driver/fsave-optimization-record.f90 (25213 of 97483)
PASS: Flang :: Driver/lto-flags.f90 (25214 of 97483)
PASS: Flang :: Driver/target-machine-error.f90 (25215 of 97483)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

llvm:analysis Includes value tracking, cost tables and constant folding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants