- Sep 20, 2011
-
-
Bill Wendling authored
This basically involved removing references to llvm.eh.exception, llvm.eh.selector, and llvm.eh.resume and replacing them with references to the landingpad and resume instructions. llvm-svn: 140128
-
- May 28, 2011
-
-
John McCall authored
transformed by the inliner into a branch to the enclosing landing pad (when inlined through an invoke). If not so optimized, it is lowered DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume as appropriate). Its chief advantage is that it takes both the exception value and the selector value as arguments, meaning that there is zero effort in recovering these; however, the frontend is required to pass these down, which is not actually particularly difficult. Also document the behavior of landing pads a bit better, and make it clearer that it's okay that personality functions don't always land at landing pads. This is just a fact of life. Don't write optimizations that rely on pushing things over an unwind edge. llvm-svn: 132253
-
- Apr 23, 2011
-
-
NAKAMURA Takumi authored
<h2>Section Example</h2> <div> <!-- h2+div is applied --> <p>Section preamble.</p> <h3>Subsection Example</h3> <p> <!-- h3+p is applied --> Subsection body </p> <!-- End of section body --> </div> FIXME: Care H5 better. llvm-svn: 130040
-
- Apr 19, 2011
-
-
NAKAMURA Takumi authored
H1 ... doc_title H2 ... doc_section H3 ... doc_subsection H4 ... doc_subsubsection llvm-svn: 129736
-
- Apr 15, 2011
-
-
Chris Lattner authored
Luis Felipe Strano Moraes! llvm-svn: 129558
-
- Apr 09, 2011
-
-
NAKAMURA Takumi authored
llvm-svn: 129181
-
- Dec 10, 2010
-
-
Bill Wendling authored
llvm-svn: 121425
-
- Oct 20, 2010
-
-
Jim Grosbach authored
setup they require. Use this for ARM/Darwin to rematerialize the base pointer from the frame pointer when required. rdar://8564268 llvm-svn: 116879
-
- May 28, 2010
-
-
Dan Gohman authored
llvm-svn: 104962
-
- May 26, 2010
-
-
Jim Grosbach authored
llvm-svn: 104703
-
- May 07, 2010
-
-
mike-m authored
llvm-svn: 103219
-
mike-m authored
NOTE: 2nd part changeset for cfe trunk to follow. *** PRE-PATCH ISSUES ADDRESSED - clang api docs fail build from objdir - clang/llvm api docs collide in install PREFIX/ - clang/llvm main docs collide in install - clang/llvm main docs have full of hard coded destination assumptions and make use of absolute root in static html files; namely CommandGuide tools hard codes a website destination for cross references and some html cross references assume website root paths *** IMPROVEMENTS - bumped Doxygen from 1.4.x -> 1.6.3 - splits llvm/clang docs into 'main' and 'api' (doxygen) build trees - provide consistent, reliable doc builds for both main+api docs - support buid vs. install vs. website intentions - support objdir builds - document targets with 'make help' - correct clean and uninstall operations - use recursive dir delete only where absolutely necessary - added call function fn.RMRF which safeguards against botched 'rm -rf'; if any target (or any variable is evaluated) which attempts to remove any dirs which match a hard-coded 'safelist', a verbose error will be printed and make will error-stop. llvm-svn: 103213
-
- Jan 28, 2010
-
-
Jim Grosbach authored
This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations. llvm-svn: 94726
-
- Oct 14, 2009
-
-
Duncan Sands authored
so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector. Likewise for eh.typeid.for. This aligns us with gcc, which always uses a 32 bit value for the selector on all platforms. My understanding is that the register allocator used to assert if the selector intrinsic size didn't match the pointer size, and this was the reason for introducing the two variants. However my testing shows that this is no longer the case (I fixed some bugs in selector lowering yesterday, and some more today in the fastisel path; these might have caused the original problems). llvm-svn: 84106
-
- Sep 11, 2009
-
-
Bill Wendling authored
llvm-svn: 81466
-
Bill Wendling authored
llvm-svn: 81465
-
- Sep 09, 2009
-
-
Eric Christopher authored
llvm-svn: 81307
-
- Aug 22, 2009
-
-
Jim Grosbach authored
llvm-svn: 79714
-
- Aug 17, 2009
-
-
Jim Grosbach authored
llvm-svn: 79272
-
- Aug 15, 2009
-
-
Bill Wendling authored
llvm-svn: 79131
-
Bill Wendling authored
llvm-svn: 79130
-
Bill Wendling authored
llvm-svn: 79088
-
- Aug 11, 2009
-
-
Jim Grosbach authored
and short. Well, it's kinda short. Definitely nasty and brutish. The front-end generates the register/unregister calls into the SjLj runtime, call-site indices and landing pad dispatch. The back end fills in the LSDA with the call-site information provided by the front end. Catch blocks are not yet implemented. Built on Darwin and verified no llvm-core "make check" regressions. llvm-svn: 78625
-
- Aug 05, 2009
-
-
Benjamin Kramer authored
llvm-svn: 78196
-
- May 14, 2009
-
-
Jim Grosbach authored
llvm-svn: 71771
-
Jim Grosbach authored
llvm.eh.sjlj.* for better clarity as to their purpose and scope. Add a description of llvm.eh.sjlj.setjmp to ExceptionHandling.html. (llvm.eh.sjlj.longjmp documentation coming when that implementation is added). llvm-svn: 71758
-
- Dec 29, 2008
-
-
Duncan Sands authored
llvm-svn: 61470
-
- Dec 11, 2008
-
-
Misha Brukman authored
llvm-svn: 60880
-
- Sep 22, 2007
-
-
Bill Wendling authored
llvm-svn: 42232
-
- Sep 07, 2007
-
-
Anton Korobeynikov authored
Split eh.select / eh.typeid.for intrinsics into i32/i64 versions. This is needed, because they just "mark" register liveins and we let frontend solve type issue, not lowering code :) llvm-svn: 41763
-
- Aug 27, 2007
-
-
Duncan Sands authored
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
-
- Jul 04, 2007
-
-
Duncan Sands authored
Drop the eh.filter intrinsic. llvm-svn: 37875
-
- Apr 16, 2007
-
-
Duncan Sands authored
llvm-svn: 36124
-
- Apr 14, 2007
-
-
Duncan Sands authored
llvm-svn: 35989
-
- Mar 30, 2007
-
-
Duncan Sands authored
llvm-svn: 35506
-
- Mar 14, 2007
-
-
Jim Laskey authored
llvm-svn: 35100
-