llvm-6502/include/llvm/IR
Filip Pizlo 23ffb3ea10 Stackmaps are used for OSR exits, which is a custom kind of unwinding. Hence, they
should not be marked nounwind.

Marking them nounwind caused crashes in the WebKit FTL JIT, because if we enable 
sufficient optimizations, LLVM starts eliding compact_unwind sections (or any unwind 
data for that matter), making deoptimization via stackmaps impossible.

This changes the stackmap intrinsic to be may-throw, adds a test for exactly the 
sympton that WebKit saw, and fixes TableGen to handle un-attributed intrinsics.

Thanks to atrick and philipreames for reviewing this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201826 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-20 23:57:31 +00:00
..
Argument.h Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
AssemblyAnnotationWriter.h Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Attributes.h Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
BasicBlock.h This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
CallingConv.h [ms-cxxabi] Add a new calling convention that swaps 'this' and 'sret' 2014-01-31 17:41:22 +00:00
CMakeLists.txt [CMake] intrinsics_gen: Use add_public_tablegen_target(). 2014-02-20 13:42:16 +00:00
Constant.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Constants.h Add a const lookup routine to get a BlockAddress constant if there is 2014-01-19 02:13:50 +00:00
DataLayout.h Use 'w' instead of 'c' to represent the win32 mangling. 2014-01-10 13:42:12 +00:00
DerivedTypes.h Fix the segfault reported in PR 11990. 2013-12-07 00:13:34 +00:00
DiagnosticInfo.h Report a warning when dropping outdated debug info metadata. 2014-01-16 01:51:12 +00:00
DiagnosticPrinter.h Report a warning when dropping outdated debug info metadata. 2014-01-16 01:51:12 +00:00
Dominators.h Remove unnecessary typename introduced in r201440. 2014-02-15 00:34:43 +00:00
Function.h Implement function prefix data as an IR feature. 2013-09-16 01:08:15 +00:00
GlobalAlias.h Add a GlobalAlias::isValidLinkage to reduce code duplication. 2013-10-09 16:07:32 +00:00
GlobalValue.h Check that GlobalAliases don't have section or alignment. 2014-02-13 18:26:41 +00:00
GlobalVariable.h Clarify that GlobalVariables definitions must have an initializer. 2013-10-29 13:44:11 +00:00
InlineAsm.h Explicitly request unsigned enum types when desired 2013-09-23 23:26:57 +00:00
InstrTypes.h Revert "Remove isCastable since nothing uses it now" 2013-07-30 22:02:14 +00:00
Instruction.def Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instruction.h Fix pr14893. 2014-01-28 16:56:46 +00:00
Instructions.h Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
IntrinsicInst.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Intrinsics.h Enable variable arguments support for intrinsics. 2013-10-31 17:18:11 +00:00
Intrinsics.td Stackmaps are used for OSR exits, which is a custom kind of unwinding. Hence, they 2014-02-20 23:57:31 +00:00
IntrinsicsAArch64.td AArch64 & ARM: refactor crypto intrinsics to take scalars 2014-02-03 17:27:49 +00:00
IntrinsicsARM.td ARM: use natural LLVM IR for vshll instructions 2014-02-10 16:20:29 +00:00
IntrinsicsHexagon.td
IntrinsicsMips.td [mips][msa] Add DLSA instruction. 2014-02-10 12:05:17 +00:00
IntrinsicsNVVM.td [NVPTX] Remove i8 register class. PTX support for i8 (.b8, .u8, .s8) is rather poor and we're better off just ignoring it and letting LLVM expand all i8 ops out to i16. 2013-06-28 17:57:59 +00:00
IntrinsicsPowerPC.td Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
IntrinsicsR600.td
IntrinsicsX86.td Changed attributes of all gather intrinsics from IntrReadMem to IntrReadArgMem as they access only memory based on argument. Patch by Robert Khasanov. 2014-02-11 04:05:33 +00:00
IntrinsicsXCore.td remove executable permission from IntrinsicsXCore.td 2013-08-01 17:17:59 +00:00
IRBuilder.h Fix a bug in IRBuilder that's been there for who knows how long. It 2014-01-05 03:22:33 +00:00
IRPrintingPasses.h [PM] Fix stale header blocker, found by Duncan Smith in code review! 2014-01-14 05:50:19 +00:00
LegacyPassManager.h Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
LegacyPassManagers.h Fix comments for PassDebuggingString 2013-12-08 01:28:17 +00:00
LLVMContext.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
Mangler.h Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
MDBuilder.h Struct-path aware TBAA: change the format of TBAAStructType node. 2013-04-27 00:26:11 +00:00
Metadata.h Debug Info: Move the constant for Debug Info Version from Dwarf.h to Metadata.h. 2013-12-02 20:09:52 +00:00
Module.h Return an error_code from materializeAllPermanently. 2014-01-14 23:51:27 +00:00
OperandTraits.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Operator.h Fix more instances of dropped fast math flags when optimizing FADD instructions. All found by inspection (aka grep). 2014-01-18 00:48:14 +00:00
PassManager.h [PM] Don't require analysis results to be const in the new pass manager. 2014-02-05 21:41:42 +00:00
SymbolTableListTraits.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Type.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
TypeBuilder.h #include <climits> instead of <limits.h> in C++ header file. 2013-06-13 23:49:09 +00:00
TypeFinder.h Move TypeFinder.h into the IR tree, it clearly belongs with the IR library. 2013-01-07 15:43:51 +00:00
Use.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
User.h Cleanup the simplify_type implementation. 2013-03-27 16:43:11 +00:00
Value.h Put the functionality for printing a value to a raw_ostream as an 2014-01-09 02:29:41 +00:00
ValueSymbolTable.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Verifier.h [PM] Wire up the Verifier for the new pass manager and connect it to the 2014-01-20 11:34:08 +00:00