This revision of llvm-stress replaces the old module generation code with a FuzzMutate driver, which supports random module generation and mutation.
- When invoked without any options, the new llvm-stress generates a new module.
- Since one round of mutation does little to the module, llvm-stress defaults to 100 mutations. This behavior can be adjusted with the repeat option.
- Optionally, the user can supply an existing module (textual IR or bitcode) to mutate from.
- File output also switches between both textual IR and bitcode based on file extension (textual IR by default).
- When no seed is given, llvm-stress will create one instead of using a default of 0.
- The old size option is replaced with max-size, which limits the maximum bitcode size of the generated/mutated module.
Related: Add a mutation fuzzing mode