This should make it obvious that they are not used by llvms sjlj exception
handling code but to implement builtin_setjmp and builtin_longjmp.
This is a followup to http://reviews.llvm.org/D9313
Paths
| Differential D9589
Rename eh_sjlj_{setjmp|longjmp} intrinsic to lightweight_{setjmp|longjmp} AbandonedPublic Authored by MatzeB on May 7 2015, 5:01 PM.
Details
Summary This should make it obvious that they are not used by llvms sjlj exception This is a followup to http://reviews.llvm.org/D9313
Diff Detail
Event TimelineComment Actions I can't review changes to LLVM targets. I agree with not naming the intrinsics after builtin_setjmp / builtin_longjmp, because using the word "builtin" in a list of intrinsics feels wrong, but please do mention in the documentation that these intrinsics implement builtin_setjmp / builtin_longjmp and are not their own new thing. MatzeB edited edge metadata. Comment ActionsNew version which properly documents the intrinsics (also mentioning the intention to implement gcc builtin_setjmp/builtin_longjmp with them). MatzeB added a parent revision: D9313: Fix __builtin_setjmp in combination with sjlj exception handling..May 18 2015, 8:35 PM Comment Actions Thanks for the review Justin, I update the documentation in the patch and the other comments mentioned in the review, backed out the setting of returns_twice for a different patch (which may be unnecessary), and fixed several places that had strange indentation after renaming. Comment Actions Shouldn't we AutoUpgrade the old intrinsics?
Comment Actions I'd actually prefer if we didn't call them setjmp/longjmp at all. They have practically nothing to do with the libc functions and that's part of the confusion around them. Comment Actions Putting this on hold as of Jörgs request, but that means http://reviews.llvm.org/D9313 should be accepted without renaming the intrinsic.
Revision Contents
Diff 26034 docs/LangRef.rst
include/llvm/CodeGen/ISDOpcodes.h
include/llvm/IR/Intrinsics.td
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
lib/Target/ARM/ARMAsmPrinter.cpp
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86InstrCompiler.td
lib/Target/X86/X86InstrInfo.td
|
implement -> implemented