| 754 | } |
| 755 | |
| 756 | class BBFuzzer : public Fuzzer { |
| 757 | const int MaxBBs = 50; |
| 758 | const int MaxWidth = 20; |
| 759 | const int MaxCounters = 16; |
| 760 | const int MaxBoolParams = 16; |
| 761 | Module &M; |
| 762 | LLVMContext &Ctx; |
| 763 | Chooser C; |
| 764 | ValueGenerator VG; |
| 765 | bool gone = false; |
| 766 | |
| 767 | public: |
| 768 | BBFuzzer(Module &_M, long seed) : M(_M), Ctx(M.getContext()), C(seed), |
| 769 | VG(C, MaxWidth, Ctx) {} |
| 770 | |
| 771 | void go() override; |
| 772 | }; |
| 773 | |
| 774 | void BBFuzzer::go() { |
| 775 | assert(!gone); |
nothing calls this directly
no outgoing calls
no test coverage detected