Skip to content
This repository was archived by the owner on Mar 17, 2026. It is now read-only.

pre-commit: PRllvm/llvm-project/compare/main...dtcxzyw:llvm-project:test-pr184124 - #3549

Closed
zyw-bot wants to merge 3 commits into
mainfrom
test-run22910895963
Closed

pre-commit: PRllvm/llvm-project/compare/main...dtcxzyw:llvm-project:test-pr184124#3549
zyw-bot wants to merge 3 commits into
mainfrom
test-run22910895963

Conversation

@zyw-bot

@zyw-bot zyw-bot commented Mar 10, 2026

Copy link
Copy Markdown
Collaborator

@github-actions github-actions Bot mentioned this pull request Mar 10, 2026
@zyw-bot

zyw-bot commented Mar 10, 2026

Copy link
Copy Markdown
Collaborator Author

Diff mode

runner: ariselab-64c-docker
baseline: llvm/llvm-project@38a3de6
patch: llvm/llvm-project@main...dtcxzyw:llvm-project:test-pr184124
sha256: 52fe93ccbf49eb221b4ecdba325e4137d1ee8b4da2959f9337f9a455765ce1ac
commit: c45fb6e

111 files changed, 1071 insertions(+), 1075 deletions(-)

Improvements:
  globalsmodref-aa.NumNoMemFunctions 762910 -> 762913 +0.00%
  globalsmodref-aa.NumReadMemFunctions 1176370 -> 1176373 +0.00%
  globalopt.NumDeleted 1045299 -> 1045301 +0.00%
  instcombine.NumCombined 120233246 -> 120233455 +0.00%
  gvn.NumGVNSimpl 4415641 -> 4415645 +0.00%
  instcount.NumSelectInst 1781790 -> 1781791 +0.00%
  instcombine.NumDeadInst 41840343 -> 41840355 +0.00%
  gvn.NumGVNInstr 9120331 -> 9120333 +0.00%
  instcount.NumCallInst 38951302 -> 38951309 +0.00%
Regressions:
  instcount.NumFDivInst 94729 -> 94718 -0.01%
  early-cse.NumCSE 5179463 -> 5179459 -0.00%
  instcount.NumPHIInst 12156310 -> 12156309 -0.00%
  instcount.NumBrInst 43990809 -> 43990806 -0.00%
  func-properties-stats.NumBasicBlockCount 58908467 -> 58908464 -0.00%
  instcount.TotalBlocks 58908467 -> 58908464 -0.00%
  func-properties-stats.NumBlocksReachedFromConditionalInstruction 51891825 -> 51891823 -0.00%
  func-properties-stats.NumTotalInstructionCount 277389049 -> 277389042 -0.00%
  instcount.TotalInsts 277389049 -> 277389042 -0.00%

+3 opencv/estimator.ll
+3 opencv/global_motion.ll
+3 zxing/QRDetector.ll
+0 abseil-cpp/uniform_real_distribution_test.ll
+0 actix-rs/1v3445utu4y7ica.ll
+0 box2d/sample_world.ll
+0 clamav/pe_icons.ll
+0 darktable/introspection_basecurve.ll
+0 icu/calendar.ll
+0 minetest/sky.ll
+0 ncnn/gemm_x86_avx2.ll
+0 ncnn/gemm_x86_avx512.ll
+0 quantlib/analytic_discr_geom_av_price.ll
+0 raylib/raudio.ll
+0 wireshark/vwr.ll
+0 xgboost/multiclass_metric.ll
+0 z3/sat_lookahead.ll
-1 darktable/introspection_channelmixerrgb.ll
-1 open3d/PointCloudSegmentation.ll
-2 ffmpeg/vf_convolve.ll
-9 darktable/blendif_rgb_hsl.ll

@github-actions

Copy link
Copy Markdown
Contributor

This patch introduces several targeted optimizations and correctness improvements across multiple benchmarks, primarily focused on floating-point semantics and IR canonicalization. The major changes are:

  1. Addition of nnan fast-math flag to numerous floating-point operations (fadd, fsub, fdiv, fmul, fptrunc, fpext, llvm.log*, llvm.log2*) across abseil-cpp, actix-rs, box2d, clamav, darktable, icu, minetest, ncnn, open3d, opencv, quantlib, raylib, wireshark, xgboost, z3, and zxing. This enables more aggressive FP optimizations by explicitly declaring that NaNs are not produced or consumed.

  2. Replacement of redundant fdiv 0.0, x with llvm.copysign(0.0, x) in OpenCV (estimator.ll, global_motion.ll) and ZXing (QRDetector.ll). This is a correctness and optimization improvement: copysign avoids potential division-by-zero concerns and better captures the intent of sign extraction, especially when x may be zero or negative.

  3. Refinement of TBAA (Type-Based Alias Analysis) metadata in QuantLib’s analytic_discr_geom_av_price.ll, updating numerous !tbaa annotations to reference corrected metadata nodes. This improves alias analysis precision and may enable better memory optimization.

  4. Fixes to phi-node predecessor lists in darktable (blendif_rgb_hsl.ll, introspection_channelmixerrgb.ll) and ffmpeg (vf_convolve.ll) to correct control-flow graph inconsistencies—e.g., updating phi operands to reference the correct basic block predecessors instead of stale or duplicated ones. These are critical for IR validity and subsequent optimization passes.

  5. Canonicalization of arithmetic patterns in darktable’s blendif_rgb_hsl.ll: replacing a conditional branch + phi pattern with a select instruction for the vividlight blend mode, and simplifying loop induction variable updates. This reduces control flow complexity and exposes vectorization opportunities.

All changes are consistent with enabling safer, more aggressive floating-point optimizations while preserving numerical intent and fixing minor IR structural issues.

model: qwen-plus-latest
CompletionUsage(completion_tokens=474, prompt_tokens=49071, total_tokens=49545, completion_tokens_details=None, prompt_tokens_details=None)

@dtcxzyw dtcxzyw closed this Mar 10, 2026
@dtcxzyw
dtcxzyw deleted the test-run22910895963 branch March 10, 2026 16:15
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants