Add __builtin_setjmp/_longjmp supprt in X86 backend
authorMichael Liao <michael.liao@intel.com>
Mon, 15 Oct 2012 22:39:43 +0000 (22:39 +0000)
committerMichael Liao <michael.liao@intel.com>
Mon, 15 Oct 2012 22:39:43 +0000 (22:39 +0000)
commit97bf363a9e8098c378924d61e30d8a3f390c1da1
tree025430f7c0b7ea07c50f2a2b5eee725b372c326d
parentbd847cc5622cabc9abb1a59e950981cdf9418f96
Add __builtin_setjmp/_longjmp supprt in X86 backend

- Besides used in SjLj exception handling, __builtin_setjmp/__longjmp is also
  used as a light-weight replacement of setjmp/longjmp which are used to
  implementation continuation, user-level threading, and etc. The support added
  in this patch ONLY addresses this usage and is NOT intended to support SjLj
  exception handling as zero-cost DWARF exception handling is used by default
  in X86.

llvm-svn: 165989
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/lib/Target/X86/X86InstrCompiler.td
llvm/lib/Target/X86/X86InstrInfo.td
llvm/lib/Target/X86/X86RegisterInfo.cpp
llvm/lib/Target/X86/X86RegisterInfo.h
llvm/test/CodeGen/X86/sjlj.ll [new file with mode: 0644]