ise-uiuc / WhiteFox

WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models (OOPSLA 2024)
43 stars 5 forks source link

Questions about extracting passes from LLVM #2

Closed chenyangyc closed 3 months ago

chenyangyc commented 7 months ago

Such fascinating work! I do have a minor inquiry: How might I access all passes within LLVM? I noticed in the paper that 52 optimizations and their implementations were extracted, yet the ./llvm-exec/example.json file only contains information for 20 optimizations. Additionally, I seem to be unable to locate any extraction scripts. Might there be something I've overlooked?

YangChenyuan commented 7 months ago

Thanks for your interest!

I uploaded all our collected LLVM optimizations in PR #5, including 52 optimizations in https://github.com/ise-uiuc/WhiteFox/tree/main/llvm-exec/source-code-data/llvm/llvm-func-body.

Basically, we tried our best to manually collect the general-purpose LLVM optimization (not specific to the platform) from this documentation (https://llvm.org/docs/Passes.html, Transform passes). However, we failed to collect for several optimizations.

unable to locate any extraction scripts

Yes, the optimization collection part is done manually and there aren't any automatic scripts.

YangChenyuan commented 3 months ago

Close as it was addressed