llvm-project/llvm/docs
Duncan Sands ef5a654216 There is an impedance matching problem between LLVM and
gcc exception handling: if an exception unwinds through
an invoke, then execution must branch to the invoke's
unwind target.  We previously tried to enforce this by
appending a cleanup action to every selector, however
this does not always work correctly due to an optimization
in the C++ unwinding runtime: if only cleanups would be
run while unwinding an exception, then the program just
terminates without actually executing the cleanups, as
invoke semantics would require.  I was hoping this
wouldn't be a problem, but in fact it turns out to be the
cause of all the remaining failures in the LLVM testsuite
(these also fail with -enable-correct-eh-support, so turning
on -enable-eh didn't make things worse!).  Instead we need
to append a full-blown catch-all to the end of each
selector.  The correct way of doing this depends on the
personality function, i.e. it is language dependent, so
can only be done by gcc.  Thus this patch which generalizes
the eh.selector intrinsic so that it can handle all possible
kinds of action table entries (before it didn't accomodate
cleanups): now 0 indicates a cleanup, and filters have to be
specified using the number of type infos plus one rather than
the number of type infos.  Related gcc patches will cause
Ada to pass a cleanup (0) to force the selector to always
fire, while C++ will use a C++ catch-all (null).

llvm-svn: 41484
2007-08-27 15:47:50 +00:00
..
CommandGuide Who thought up this crazy formatting scheme? 2007-08-07 17:57:36 +00:00
HistoricalNotes Update a doc, patch contributed by Jim Laskey! 2005-08-02 19:14:25 +00:00
img For PR1067: 2007-02-04 00:17:35 +00:00
AliasAnalysis.html note where to get steens-aa and ds-aa 2007-07-03 04:41:50 +00:00
BitCodeFormat.html add initial description of llvm top-level stuff. 2007-05-13 01:39:44 +00:00
Bugpoint.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
CFEBuildInstrs.html Small change. 2007-07-23 03:56:42 +00:00
CodeGenerator.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
CodingStandards.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
CommandLine.html Document boolOrDefault and its parser. 2007-05-22 18:32:34 +00:00
CompilerDriver.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
CompilerWriterInfo.html Added link to ABI documentation, sent by Rafael Espindola. 2006-08-22 21:56:43 +00:00
DeveloperPolicy.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
ExceptionHandling.html There is an impedance matching problem between LLVM and 2007-08-27 15:47:50 +00:00
ExtendingLLVM.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
FAQ.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
GarbageCollection.html Provide link. 2007-04-18 17:26:14 +00:00
GetElementPtr.html int -> i32, etc. 2007-02-09 17:56:02 +00:00
GettingStarted.html Fix validation errors 2007-07-16 08:52:56 +00:00
GettingStartedVS.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
HowToReleaseLLVM.html test commit 2007-07-25 06:15:23 +00:00
HowToSubmitABug.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
LangRef.html Implement review feedback on trampoline documentation. 2007-08-22 23:39:54 +00:00
Lexicon.html Add LCSSA to the LLVM lexicon. 2006-10-18 05:50:12 +00:00
LinkTimeOptimization.html Rename llvm-gcc4 to llvm-gcc. 2007-08-24 23:23:23 +00:00
Makefile Subversionify the documentation. 2007-07-09 08:04:31 +00:00
MakefileGuide.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
Passes.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
ProgrammersManual.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
Projects.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
ReleaseNotes.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
SourceLevelDebugging.html Fix typos. 2007-06-14 11:27:07 +00:00
Stacker.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
SystemLibrary.html Various hopefully correct easy fixes. 2007-03-30 12:22:09 +00:00
TableGenFundamentals.html Missing anchor 2006-09-09 09:10:37 +00:00
TestingGuide.html Subversionify the documentation. 2007-07-09 08:04:31 +00:00
UsingLibraries.html first pass of nomenclature changes in .html files 2007-07-06 22:07:22 +00:00
WritingAnLLVMBackend.html Suggest looking at the SPARC backend. How weird is that?? :) 2006-04-24 16:34:45 +00:00
WritingAnLLVMPass.html Fix example code. 2007-07-25 21:05:39 +00:00
doxygen.cfg.in Comment out configuration tags not supported by doxygen 1.3.9 2007-08-05 19:51:03 +00:00
doxygen.css Upgrade in preparation for doxygen 1.4.4. The config file format changed, 2006-05-15 21:36:13 +00:00
doxygen.footer Update copyright for 2007. 2007-01-18 21:33:56 +00:00
doxygen.header Add a bunch of fine tunings that Reid contributed. Thanks Reid! 2003-12-31 06:47:28 +00:00
doxygen.intro Adjust this so that doxygen doesn't barf on it. 2004-11-29 03:47:37 +00:00
index.html Update links to the command guide generated documentation. 2007-08-05 23:43:44 +00:00
llvm.css Reduce the padding on the doc_notes style. It was set to 1em which leaves 2006-07-27 05:29:25 +00:00