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)
commit6c0e04c823cf4034214b050e338c99a401edd2ac
tree9d754ca7a1983865bf8e149c73d94c02dfa3bb05
parent790047620a8f31cee1841c06c9e5e7688166ad93
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165989 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrCompiler.td
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86RegisterInfo.cpp
lib/Target/X86/X86RegisterInfo.h
test/CodeGen/X86/sjlj.ll [new file with mode: 0644]