Add an ugly note.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50029 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-04-21 04:46:30 +00:00
parent 1d40281ae6
commit 7d717a0b70

View File

@ -1656,3 +1656,38 @@ extending to the fall through). The register pressure in the loop isn't high
enough to warrant the spill.
Also check why xmm7 is not used at all in the function.
//===---------------------------------------------------------------------===//
Legalize loses track of the fact that bools are always zero extended when in
memory. This causes us to compile abort_gzip (from 164.gzip) from:
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin8"
@in_exit.4870.b = internal global i1 false ; <i1*> [#uses=2]
define fastcc void @abort_gzip() noreturn nounwind {
entry:
%tmp.b.i = load i1* @in_exit.4870.b ; <i1> [#uses=1]
br i1 %tmp.b.i, label %bb.i, label %bb4.i
bb.i: ; preds = %entry
tail call void @exit( i32 1 ) noreturn nounwind
unreachable
bb4.i: ; preds = %entry
store i1 true, i1* @in_exit.4870.b
tail call void @exit( i32 1 ) noreturn nounwind
unreachable
}
declare void @exit(i32) noreturn nounwind
into:
_abort_gzip:
subl $12, %esp
movb _in_exit.4870.b, %al
notb %al
testb $1, %al
jne LBB1_2 ## bb4.i
LBB1_1: ## bb.i
...
//===---------------------------------------------------------------------===//