Changes in directory llvm/lib/Target/X86:
README.txt updated: 1.154 -> 1.155 --- Log message: add a note --- Diffs of the changes: (+29 -0) README.txt | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+) Index: llvm/lib/Target/X86/README.txt diff -u llvm/lib/Target/X86/README.txt:1.154 llvm/lib/Target/X86/README.txt:1.155 --- llvm/lib/Target/X86/README.txt:1.154 Thu Feb 8 17:53:38 2007 +++ llvm/lib/Target/X86/README.txt Mon Feb 12 14:26:34 2007 @@ -868,3 +868,32 @@ //===---------------------------------------------------------------------===// +This code: + +void test(int X) { + if (X) abort(); +} + +is currently compiled to (with -static): + +_test: + subl $12, %esp + cmpl $0, 16(%esp) + jne LBB1_1 #cond_true + addl $12, %esp + ret +LBB1_1: #cond_true + call L_abort$stub + +It would be better to produce: + +_test: + subl $12, %esp + cmpl $0, 16(%esp) + jne L_abort$stub + addl $12, %esp + ret + +This can be applied to any no-return function call that takes no arguments etc. + +//===---------------------------------------------------------------------===// _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits