mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-21 18:29:46 +00:00
On ELF and COFF an alias is just another name for a position in the file. There is no way to refer to a position in another file, so an alias to undefined is meaningless. MachO currently doesn't support aliases. The spec has a N_INDR, which when implemented will have a different set of restrictions. Adding support for it shouldn't be harder than any other IR extension. For now, having the IR represent what is actually possible with current tools makes it easier to fix the design of GlobalAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203705 91177308-0d34-0410-b5e6-96231b3b80d8
35 lines
1.4 KiB
LLVM
35 lines
1.4 KiB
LLVM
; RUN: opt < %s -basicaa -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 = constant [1 x %struct.pci_device_id] zeroinitializer
|
|
|
|
@__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
|
|
}
|