dtcxzyw / llvm-opt-benchmark

An LLVM IR dataset for data-driven compiler optimization research
https://dtcxzyw.github.io/llvm-opt-benchmark/
MIT License
18 stars 3 forks source link

Grep cascade selects (v4) #934

Open dtcxzyw opened 1 month ago

dtcxzyw commented 1 month ago
define i32 @src(i1 %cond1, i1 %cond2, i32 %a, i32 %b) {
entry:
   %switch.load = select i1 %cond1, i32 %b, i32 %a
   %.sink = select i1 %cond2, i32 %a, i32 %switch.load
   ret i32 %.sink
}

https://alive2.llvm.org/ce/z/xX4G4n

github-actions[bot] commented 1 month ago
icu/optimized/number_grouping.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %cond = select i1 %cmp5, i16 %conv1, i16 %conv
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %cond9 = select i1 %cmp, i16 %conv, i16 %cond

icu/optimized/locdispnames.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select265 = select i1 %cmp77, ptr %add.ptr80, ptr %p.5
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %p.6 = select i1 %tobool139.not, ptr %p.5, ptr %spec.select265

icu/optimized/uarrsort.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %div.limit.addr.0 = select i1 %cmp4, i32 %div, i32 %limit.addr.022
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %limit.addr.1 = select i1 %cmp2, i32 %limit.addr.022, i32 %div.limit.addr.0

icu/optimized/decNumber.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select177 = select i1 %or.cond176, i32 1999999998, i32 %uexponent.0.lcssa
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %exponent.0 = select i1 %cmp174.not, i32 %uexponent.0.lcssa, i32 %spec.select177

icu/optimized/locid.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %cond.i = select i1 %cmp.i39, ptr %replacedScript.4112, ptr %34
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select.i = select i1 %cmp.i.not.i38, ptr %34, ptr %cond.i

soc-simulator/optimized/Vmycpu_top___024root__DepSet_hcf0db31f__0.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %.6848 = select i1 %.not5913, i32 258048, i32 192512
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.sink6790 = select i1 %.not5912, i32 192512, i32 %.6848

soc-simulator/optimized/sim_mycpu.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %273 = select i1 %272, i8 -62, i8 -64
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %275 = select i1 %270, i8 -64, i8 %273

softposit-rs/optimized/8mae6k72v4zmmji.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %.0 = select i1 %or.cond, i32 %.0.i, i32 -2147483648
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.store.select1 = select i1 %19, i32 -2147483648, i32 %.0

softposit-rs/optimized/1jooigl29qhneyer.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %.0.i = select i1 %or.cond.i, i32 %.0.i.i, i32 -2147483648
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.store.select1.i = select i1 %19, i32 -2147483648, i32 %.0.i

zxing/optimized/TextDecoder.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %106 = select i1 %.not, i8 2, i8 22
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %107 = select i1 %or.cond31, i8 22, i8 %106

tree-sitter-rs/optimized/2jber9b3bsvatks5.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select647 = select i1 %646, i8 1, i8 %.sroa.10.01348
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.sroa.10.1 = select i1 %.0124, i8 %.sroa.10.01348, i8 %spec.select647

gromacs/optimized/slarrex.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select = select i1 %168, float %.0595, float %.1599690
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.2600 = select i1 %167, float %.1599690, float %spec.select

gromacs/optimized/pairlist_tuning.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %106 = select i1 %.not181, float 1.250000e+00, float 0x3FF6666660000000
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %107 = select i1 %7, float 0x3FF6666660000000, float %106

gromacs/optimized/gmx_confrms.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %.0..1125.i.i = select i1 %.0128.lcssa248263.i.i, i32 %.0.lcssa250261.i.i, i32 %.1125266.i.i
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.1125.pn156.i.i = select i1 %.0126.lcssa249262.i.i, i32 %.1125266.i.i, i32 %.0..1125.i.i

gromacs/optimized/readir.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %.sroa.speculated = select i1 %432, float %430, float %.012301411
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.11231 = select i1 %431, float %.012301411, float %.sroa.speculated

gromacs/optimized/trjconv.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select995 = select i1 %832, ptr @.str.226, ptr @.str.225
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.str.225.sink = select i1 %349, ptr @.str.225, ptr %spec.select995

gromacs/optimized/dlarrex.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select = select i1 %165, double %.0595, double %.1599692
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.2600 = select i1 %164, double %.1599692, double %spec.select

gromacs/optimized/pairlist.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select32.i.us.us.i.i = select i1 %1089, i32 %1084, i32 %.0252.i.us.us.i.i
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.126.i.us.us.i.i = select i1 %1088, i32 %.0252.i.us.us.i.i, i32 %spec.select32.i.us.us.i.i

rayon-rs/optimized/4h6yllo6psxznznq.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select = select i1 %.not.i, i32 %2, i32 1114112
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.sroa.0.0 = select i1 %.not, i32 1114112, i32 %spec.select

proxygen/optimized/Logging.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %spec.select67 = select i1 %cmp13, ptr %add.ptr.i, ptr %val.coerce1
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %val.sroa.7.0 = select i1 %cmp10.not, ptr %val.coerce1, ptr %spec.select67

gromacs/optimized/nb_free_energy.cpp.ll
  %switch.load = select i1 %cond1, i32 %b, i32 %a  ->  %494 = select <8 x i1> %492, <8 x float> %95, <8 x float> %491
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select.i = select i1 %.not16.i, <8 x float> %491, <8 x float> %494

21 Occurrences