[llvm-commits] [llvm] r71610 - in /llvm/trunk: include/llvm/CodeGen/MachineFunction.h include/llvm/Intrinsics.td lib/CodeGen/MachineFunction.cpp lib/CodeGen/PrologEpilogInserter.cpp lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp lib/Target/ARM/ARMISelLowering.cpp lib/Target/ARM/ARMISelLowering.h lib/Target/ARM/ARMInstrInfo.cpp lib/Target/ARM/ARMInstrInfo.td

Duncan Sands baldrick at free.fr
Wed May 13 00:26:59 PDT 2009

Hi Jim,

> +let Properties = [IntrNoMem] in {

doesn't this mean that all builtinlongjmp intrinsics will be
deleted (since they have no return value, their result is never
used) and likewise for every builtinsetjmp if the result is unused?
I suppose this may not matter if they are only being generated by
the backend, but it seems philosophically very wrong.

> +def int_builtinsetjmp  : Intrinsic<[llvm_i32_ty],  [llvm_ptr_ty]>;
> +def int_builtinlongjmp : Intrinsic<[llvm_void_ty], [llvm_ptr_ty, llvm_i32_ty]>;

How about using GCCBuiltin to have these be automagically mapped to the GCC intrinsics
by the CBE?



More information about the llvm-commits mailing list