1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-02 00:42:52 +01:00
llvm-mirror/lib
Bill Wendling 836c413ca3 Introduce a bit of a hack.
Splitting a landing pad takes considerable care because of PHIs and other
nasties. The problem is that the jump table needs to jump to the landing pad
block. However, the landing pad block can be jumped to only by an invoke
instruction. So we clone the landingpad instruction into its own basic block,
have the invoke jump to there. The landingpad instruction's basic block's
successor is now the target for the jump table.

But because of PHI nodes, we need to create another basic block for the jump
table to jump to. This is definitely a hack, because the values for the PHI
nodes may not be defined on the edge from the jump table. But that's okay,
because the jump table is simply a construct to mimic what is happening in the
CFG. So the values are mysteriously there, even though there is no value for the
PHI from the jump table's edge (hence calling this a hack).

llvm-svn: 139545
2011-09-12 21:56:59 +00:00
..
Analysis Fix typo. 2011-09-12 19:58:22 +00:00
Archive Rewrite the CMake build to use explicit dependencies between libraries, 2011-07-29 00:14:25 +00:00
AsmParser Auto upgrade the old EH scheme to use the new one. This is on a trial basis. If 2011-08-27 06:11:03 +00:00
Bitcode Don't forget to add the landingpad and resume instructions to the InstructionList. 2011-09-01 00:50:20 +00:00
CodeGen Introduce a bit of a hack. 2011-09-12 21:56:59 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine Fix the asserts in lib/Target/X86/X86ELFWriterInfo.cpp and 2011-09-10 01:42:07 +00:00
Linker switch to the new struct api. 2011-08-12 18:07:26 +00:00
MC Formatting and typo. 2011-09-08 22:17:40 +00:00
Object Remove dead code. 2011-09-09 00:22:05 +00:00
Support Add DW_ATE_UTF, which clang started using in my previous commit! 2011-09-12 17:18:20 +00:00
Target Thumb2 POP's don't allow the PC as an operand, and PUSH's don't allow the SP either. 2011-09-12 21:28:46 +00:00
Transforms Change a bunch of isVolatile() checks to check for atomic load/store as well. 2011-09-12 20:23:13 +00:00
VMCore Add codegen support for vector select (in the IR this means a select 2011-09-06 19:07:46 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00