[LLVMdev] RFC: Patch for Exceptions

Bill Wendling isanbard at gmail.com
Wed Aug 29 16:41:36 PDT 2007


The fix had problems on PPC64. Here's what bugpoint came up with:

; ModuleID = 'bugpoint-reduced-simplified.bc'
target datalayout = "E-p:64:64:64-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-f128:64:128"
target triple = "powerpc64-apple-darwin9"
         %struct._Unwind_Context = type { [146 x i8*], i8*, i8*, i8*,  
%struct.dwarf_eh_bases, i64 }
         %struct._Unwind_Exception = type { i64, void (i32, % 
struct._Unwind_Exception*)*, i64, i64
}
         %struct.dwarf_eh_bases = type { i8*, i8*, i8* }

declare fastcc void @uw_init_context_1(%struct._Unwind_Context*, i8*,  
i8*)

declare i8* @llvm.eh.dwarf.cfa(i32)

define void @_Unwind_Resume(%struct._Unwind_Exception* %exc) {
entry:
         call i8* @llvm.eh.dwarf.cfa( i32 0 )            ; <i8*>:0  
[#uses=1]
         call fastcc void @uw_init_context_1( % 
struct._Unwind_Context* null, i8* %0, i8* null )
         ret void
}

-bw



More information about the llvm-dev mailing list