mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
b08b580e85
This makes it possible to use the same representation of llvm.eh.actions in outlined handlers as we use in the parent function because i32's are just constants that can be copied freely between functions. I had to add a sentinel alloca to the list of child allocas so that we don't try to sink the catch object into the handler. Normally, one would use nullptr for this kind of thing, but TinyPtrVector doesn't support null elements. More than that, it's elements have to have a suitable alignment. Therefore, I settled on this for my sentinel: AllocaInst *getCatchObjectSentinel() { return static_cast<AllocaInst *>(nullptr) + 1; } llvm-svn: 233947 |
||
---|---|---|
.. | ||
cppeh-catch-all.ll | ||
cppeh-catch-scalar.ll | ||
cppeh-catch-unwind.ll | ||
cppeh-frame-vars.ll | ||
cppeh-inalloca.ll | ||
cppeh-min-unwind.ll | ||
cppeh-multi-catch.ll | ||
cppeh-nested-1.ll | ||
cppeh-nested-2.ll | ||
cppeh-nested-3.ll | ||
cppeh-nonalloca-frame-values.ll | ||
cppeh-prepared-catch.ll | ||
cppeh-prepared-cleanups.ll | ||
lit.local.cfg | ||
seh-simple.ll |