add a note
authorChris Lattner <sabre@nondot.org>
Mon, 12 Feb 2007 20:26:34 +0000 (20:26 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 12 Feb 2007 20:26:34 +0000 (20:26 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34202 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/README.txt

index 46ef8b2225063338695478891935865c12560d24..2f8cb7e918acbae681b0b2d2ee980814438b32c2 100644 (file)
@@ -868,3 +868,32 @@ _f2:
 
 //===---------------------------------------------------------------------===//
 
+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.
+
+//===---------------------------------------------------------------------===//