diff --git a/docs/HowToSubmitABug.html b/docs/HowToSubmitABug.html new file mode 100644 index 00000000000..e3f20197c15 --- /dev/null +++ b/docs/HowToSubmitABug.html @@ -0,0 +1,197 @@ + +
How to submit an LLVM bug report | +
+
+ Written by Chris Lattner
+ |
+![]() |
+Introduction - Got bugs? + |
+ +Basically you have to do two things at a minimum. First, decide whether the bug +crashes the compiler (or an LLVM pass), or if the +compiler is miscompiling the program. Based on +what type of bug it is, follow the instructions in the linked section to narrow +down the bug so that the person who fixes it will be able to find the problem +more easily.
+ +Once you have a reduced test-case, email information about the bug to: llvmbugs@cs.uiuc.edu. This should +include all of the information necessary to reproduce the problem, including +where you got the LLVM tree from (if you're not working out of CVS).
+ +Thanks for helping us make LLVM better!
+ + + +
+Crashing Bugs + |
+ +To figure out which program is crashing (the front-end, gccas, +or gccld), run the llvm-gcc command line as you +were when the crash occurred, but add a -v option to the command line. +The compiler will print out a bunch of stuff, and should end with telling you +that one of cc1, gccas, or gccld +crashed.
+ +
+ + + +
+ +Front-end bugs + |
+ + + +
+ +GCCAS bugs + |
+ +
+ gccas -debug-pass=Arguments < /dev/null -o - > /dev/null +
+ +... which will print a list of arguments, indicating the list of passes that +gccas runs. Once you have the input file and the list of +passes, go to the section on debugging bugs in LLVM +passes.
+ + + +
+ +GCCLD bugs + |
+ +
+ gccld -debug-pass=Arguments < /dev/null -o - > /dev/null +
+ +... which will print a list of arguments, indicating the list of passes that +gccld runs. Once you have the input files and the list of +passes, go to the section on debugging bugs in LLVM +passes.
+ + +
+ +Bugs in LLVM passes + |
+ +
+ bugpoint <input files> <list of passes> +
+ +bugpoint will print a bunch of output as it reduces the +test-case, but it should eventually print something like this:
+ +
+ ... + Emitted bytecode to 'bugpoint-reduced-simplified.bc' + + *** You can reproduce the problem with: opt bugpoint-reduced-simplified.bc -licm +
+ +Once you complete this, please send the LLVM bytecode file and the command line +to reproduce the problem to the llvmbugs mailing list.
+ + + +
+Miscompilations + |
+ + + +