mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-02 08:26:29 +00:00
c168815f4b
Summary: The -mcpu=mips16 option caused the Integrated Assembler to crash because it couldn't figure out the architecture revision number to write to the .MIPS.abiflags section. This CPU definition has been removed because, like microMIPS, MIPS16 is an ASE to a base architecture. Reviewers: vkalintiris Subscribers: rkotler, llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D13656 llvm-svn: 250407
32 lines
1011 B
LLVM
32 lines
1011 B
LLVM
; RUN: llc -march=mipsel -mattr=mips16 -relocation-model=pic -O3 < %s | FileCheck %s -check-prefix=16
|
|
|
|
@.str = private unnamed_addr constant [6 x i8] c"hello\00", align 1
|
|
@_ZTIPKc = external constant i8*
|
|
|
|
define i32 @main() {
|
|
; 16-LABEL: main:
|
|
; 16: .cfi_startproc
|
|
; 16: save $16, $17, $ra, 32 # 16 bit inst
|
|
; 16: .cfi_def_cfa_offset 32
|
|
; 16: .cfi_offset 31, -4
|
|
; 16: .cfi_offset 17, -8
|
|
; 16: .cfi_offset 16, -12
|
|
; 16: .cfi_endproc
|
|
entry:
|
|
%retval = alloca i32, align 4
|
|
store i32 0, i32* %retval
|
|
%exception = call i8* @__cxa_allocate_exception(i32 4) nounwind
|
|
%0 = bitcast i8* %exception to i8**
|
|
store i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str, i32 0, i32 0), i8** %0
|
|
call void @__cxa_throw(i8* %exception, i8* bitcast (i8** @_ZTIPKc to i8*), i8* null) noreturn
|
|
unreachable
|
|
|
|
return: ; No predecessors!
|
|
%1 = load i32, i32* %retval
|
|
ret i32 %1
|
|
}
|
|
|
|
declare i8* @__cxa_allocate_exception(i32)
|
|
|
|
declare void @__cxa_throw(i8*, i8*, i8*)
|