Hi Anton,
>> One question, can the offset be >32-bit? If not, then this patch
>> looks
>> good (though I haven't tested it yet). But if the offset can be
>>> 32-bit, then we'll have trouble with the offset being truncated
in
>> the front-end...
> I expect offset to fit into i32 on every sane platform :) In almost
> all
> cases it should be something like +-4 or +-8.
That sounds okay then. I'm hoping that we won't need an offset >2^32
either. ;-) If you're happy with your patch, then I'm okay with it too.
For the record, I forgot a part of the patch I sent out. The change
in the LLVM tree that's needed is this:
Index: include/llvm/Intrinsics.td
==================================================================---
include/llvm/Intrinsics.td (revision 41306)
+++ include/llvm/Intrinsics.td (working copy)
@@ -229,7 +229,7 @@
def int_eh_unwind_init: Intrinsic<[llvm_void_ty]>,
GCCBuiltin<"__builtin_unwind_init">;
-def int_eh_dwarf_cfa : Intrinsic<[llvm_ptr_ty, llvm_i32_ty]>;
+def int_eh_dwarf_cfa : Intrinsic<[llvm_ptr_ty, llvm_ptr_ty]>;
//===---------------- Generic Variable Attribute
Intrinsics----------------===//
//
I don't know if that's related to the problem you had with the
original patch or not...
Thanks!
-bw