diff options
author | Chris Lattner <sabre@nondot.org> | 2008-04-21 04:46:30 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-04-21 04:46:30 +0000 |
commit | 7d717a0b7065aac1be396d79423b4cecf868a95d (patch) | |
tree | 91f63090adbe70d29482f02115574ee221628e93 /lib/Target/X86/README.txt | |
parent | 1d40281ae65bb27445c1b75fc244af6b3a5b5af6 (diff) | |
download | external_llvm-7d717a0b7065aac1be396d79423b4cecf868a95d.zip external_llvm-7d717a0b7065aac1be396d79423b4cecf868a95d.tar.gz external_llvm-7d717a0b7065aac1be396d79423b4cecf868a95d.tar.bz2 |
Add an ugly note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50029 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/README.txt')
-rw-r--r-- | lib/Target/X86/README.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/Target/X86/README.txt b/lib/Target/X86/README.txt index 56dc29c..fcbae96 100644 --- a/lib/Target/X86/README.txt +++ b/lib/Target/X86/README.txt @@ -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 + ... + +//===---------------------------------------------------------------------===// |