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 (v3) #933

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 %a, i32 %b
   %.sink = select i1 %cond2, i32 %a, i32 %switch.load
   ret i32 %.sink
}

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

github-actions[bot] commented 1 month ago
icu/optimized/usearch.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %spec.select448 = select i1 %tobool114.not, i8 0, i8 %found.1
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select115 = select i1 %cmp123, i8 0, i8 %spec.select448

soc-simulator/optimized/Vmycpu_top___024root__DepSet_hcf0db31f__0.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %spec.select = select i1 %657, i32 7, i32 %658
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select6394 = select i1 %or.cond6332, i32 7, i32 %spec.select

zxing/optimized/ZXBigInteger.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %spec.select = select i1 %22, ptr %4, ptr %2
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %23 = select i1 %21, ptr %4, ptr %spec.select

gromacs/optimized/propagator.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %24 = select i1 %23, i1 %20, i1 false
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %brmerge = select i1 %17, i1 %20, i1 %24

gromacs/optimized/kernel_ref_prune.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %.294 = select i1 %99, i1 true, i1 %.193102
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.not96 = select i1 %101, i1 true, i1 %.294

gromacs/optimized/tng_compress.c.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %.267 = select i1 %50, i32 0, i32 %.166
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %57, i32 0, i32 %.267

gromacs/optimized/gmx_anaeig.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %249 = select i1 %237, i1 true, i1 %248
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %brmerge258 = select i1 %or.cond257, i1 true, i1 %249

gromacs/optimized/vsite_parm.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %spec.select180.i = select i1 %441, i8 1, i8 %.3144349354.i
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.mux = select i1 %451, i8 1, i8 %spec.select180.i

curl/optimized/libcurl_la-mime.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %spec.select = select i1 %tobool10.not, i32 27, i32 %result.0
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select28 = select i1 %tobool7.not.i, i32 27, i32 %spec.select

oniguruma/optimized/regcomp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %.4 = select i1 %69, i32 1, i32 %.3
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select71 = select i1 %77, i32 1, i32 %.4

proxygen/optimized/HTTPTransaction.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %or.cond.not.i.i = select i1 %not.tobool.i.i, i1 true, i1 %cmp.i.i.i
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %.mux = select i1 %cmp.i1.i.i, i1 true, i1 %or.cond.not.i.i

verilator/optimized/V3Assert.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %spec.select = select i1 %not.or.cond3, i1 true, i1 %.052
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %brmerge = select i1 %70, i1 true, i1 %spec.select

verilator/optimized/V3Width.cpp.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %79 = select i1 %.not.i, i32 %76, i32 %78
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %80, i32 %76, i32 %79

php/optimized/cgi_main.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %spec.select.i = select i1 %or.cond.i, ptr %202, ptr %201
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select529.i = select i1 %or.cond5.i, ptr %202, ptr %spec.select.i

hyperscan/optimized/limex_64.c.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %cacheable.i379.3 = select i1 %or.cond691, i32 0, i32 %cacheable.i379.2
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %cmp89.i742, i32 0, i32 %cacheable.i379.3

hyperscan/optimized/limex_native.c.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %cacheable.i364.2 = select i1 %or.cond658, i32 0, i32 %cacheable.i364.1
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %cmp89.i637, i32 0, i32 %cacheable.i364.2

hyperscan/optimized/limex_simd128.c.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %cacheable.i1021.3 = select i1 %or.cond818, i32 0, i32 %cacheable.i1021.2
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %cmp93.i1447, i32 0, i32 %cacheable.i1021.3

hyperscan/optimized/limex_simd256.c.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %cacheable.i1895.3 = select i1 %or.cond1212, i32 0, i32 %cacheable.i1895.2
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %cmp92.i2508, i32 0, i32 %cacheable.i1895.3

hyperscan/optimized/limex_simd512.c.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %cacheable.i3398.3 = select i1 %or.cond1872, i32 0, i32 %cacheable.i3398.2
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %cmp92.i4126, i32 0, i32 %cacheable.i3398.3

hyperscan/optimized/limex_simd384.c.ll
  %switch.load = select i1 %cond1, i32 %a, i32 %b  ->  %cacheable.i2645.3 = select i1 %or.cond1461, i32 0, i32 %cacheable.i2645.2
  %.sink = select i1 %cond2, i32 %a, i32 %switch.load  ->  %spec.select = select i1 %cmp92.i3371, i32 0, i32 %cacheable.i2645.3

20 Occurrences