diff options
author | Chris Lattner <sabre@nondot.org> | 2007-11-06 05:58:42 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-11-06 05:58:42 +0000 |
commit | c0656ade71b07c320ca5633d7024e9ba69547783 (patch) | |
tree | 71bb8eaaaae7d171775060a9bc846ea52d9f2ab5 /test/Analysis | |
parent | 9c88538126b554eb14405e98cfaedda6893a39d7 (diff) | |
download | external_llvm-c0656ade71b07c320ca5633d7024e9ba69547783.zip external_llvm-c0656ade71b07c320ca5633d7024e9ba69547783.tar.gz external_llvm-c0656ade71b07c320ca5633d7024e9ba69547783.tar.bz2 |
Fix PR1774 and BasicAA/2007-11-05-SizeCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43756 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r-- | test/Analysis/BasicAA/2007-11-05-SizeCrash.ll | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll b/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll new file mode 100644 index 0000000..5a938cf --- /dev/null +++ b/test/Analysis/BasicAA/2007-11-05-SizeCrash.ll @@ -0,0 +1,34 @@ +; RUN: llvm-as < %s | opt -gvn -disable-output +; PR1774 + +target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" +target triple = "x86_64-unknown-linux-gnu" + %struct.device = type { [20 x i8] } + %struct.pci_device_id = type { i32, i32, i32, i32, i32, i32, i64 } + %struct.usb_bus = type { %struct.device* } + %struct.usb_hcd = type { %struct.usb_bus, i64, [0 x i64] } +@uhci_pci_ids = external constant [1 x %struct.pci_device_id] ; <[1 x %struct.pci_device_id]*> [#uses=1] + +@__mod_pci_device_table = alias [1 x %struct.pci_device_id]* @uhci_pci_ids + ; <[1 x %struct.pci_device_id]*> [#uses=0] + +define i32 @uhci_suspend(%struct.usb_hcd* %hcd) { +entry: + %tmp17 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 2, i64 1 + ; <i64*> [#uses=1] + %tmp1718 = bitcast i64* %tmp17 to i32* ; <i32*> [#uses=1] + %tmp19 = load i32* %tmp1718, align 4 ; <i32> [#uses=0] + br i1 false, label %cond_true34, label %done_okay + +cond_true34: ; preds = %entry + %tmp631 = getelementptr %struct.usb_hcd* %hcd, i32 0, i32 2, i64 +2305843009213693950 ; <i64*> [#uses=1] + %tmp70 = bitcast i64* %tmp631 to %struct.device** ; + + %tmp71 = load %struct.device** %tmp70, align 8 ; + + ret i32 undef + +done_okay: ; preds = %entry + ret i32 undef +} |