1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/include/llvm
Nate Begeman 3d518334b9 SelectionDAGISel can now natively handle Switch instructions, in the same
manner that the LowerSwitch LLVM to LLVM pass does: emitting a binary
search tree of basic blocks.  The new approach has several advantages:
it is faster, it generates significantly smaller code in many cases, and
it paves the way for implementing dense switch tables as a jump table by
handling switches directly in the instruction selector.

This functionality is currently only enabled on x86, but should be safe for
every target.  In anticipation of making it the default, the cfg is now
properly updated in the x86, ppc, and sparc select lowering code.

llvm-svn: 27156
2006-03-27 01:32:24 +00:00
..
ADT Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
Analysis Move some common data structures between dom and pdom into the base class 2006-03-20 19:32:48 +00:00
Assembly Unused function - easier to throw away than fix. 2006-03-25 18:42:45 +00:00
Bytecode Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
CodeGen SelectionDAGISel can now natively handle Switch instructions, in the same 2006-03-27 01:32:24 +00:00
Config Update for including additional function tests. 2006-01-23 08:15:53 +00:00
Debugger Remove trailing whitespace 2005-04-21 20:39:54 +00:00
ExecutionEngine Fix headers 2006-03-24 06:07:16 +00:00
Support Generate local variable and scope information and equivalent dwarf forms. 2006-03-23 18:07:55 +00:00
System Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
Target Tweak a comment. 2006-03-24 16:18:42 +00:00
Transforms For each loop, keep track of all the IV expressions inserted indexed by 2006-03-16 21:53:05 +00:00
.cvsignore Ignore generated file Intrinsics.gen 2006-03-23 23:49:59 +00:00
AbstractTypeUser.h remove a dead method 2005-11-12 08:42:30 +00:00
Argument.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
BasicBlock.h Remove some dead argument names which irritates GCC at certain warning levels. 2005-10-25 17:59:28 +00:00
CallGraphSCCPass.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
CallingConv.h Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
Constant.h Added a parameter to control whether Constant::getStringValue() would chop 2006-03-10 23:52:03 +00:00
Constants.h add a new Type::getIntegralTypeMask() method, which is useful for clients that 2006-02-07 06:17:10 +00:00
DerivedTypes.h add a new Type::getIntegralTypeMask() method, which is useful for clients that 2006-02-07 06:17:10 +00:00
Function.h Add a missing Module::setTargetTriple method. 2005-10-25 17:58:00 +00:00
GlobalValue.h Add support for putting globals in a particular section 2005-11-12 00:09:49 +00:00
GlobalVariable.h Fix VC++ level 4 warnings. Because a base class has declared these private, VC++ complains it cannot automatically generate this methods. 2005-12-17 00:19:22 +00:00
InlineAsm.h add a new flag 2006-02-23 23:36:23 +00:00
InstrTypes.h allow these to take a generic Value* 2005-04-24 07:28:04 +00:00
Instruction.def Instruction and constant expression definitions for the insertelement 2006-01-17 20:05:59 +00:00
Instruction.h Fix VC++ level 4 warnings. Because a base class has declared these private, VC++ complains it cannot automatically generate this methods. 2005-12-17 00:19:22 +00:00
Instructions.h Instruction and constant expression definitions for the insertelement 2006-01-17 20:05:59 +00:00
IntrinsicInst.h Rename for truth in advertising. 2006-03-24 09:50:27 +00:00
Intrinsics.h Add a programatic interface to intrinsic names. 2006-03-25 06:32:07 +00:00
Intrinsics.td Split the PPC and X86 intrinsics out to their own files. 2006-03-26 02:37:19 +00:00
IntrinsicsPowerPC.td Add predicate comparison intrinsics. 2006-03-26 07:50:25 +00:00
IntrinsicsX86.td Split the PPC and X86 intrinsics out to their own files. 2006-03-26 02:37:19 +00:00
Linker.h Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
Module.h add a new helper method 2006-03-08 18:38:51 +00:00
ModuleProvider.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
Pass.h Be consistent in using class vs struct to make VC++ happy. And as it contains 2006-01-04 17:21:23 +00:00
PassAnalysisSupport.h Make the LLVM headers "-ansi -pedantic -Wno-long-long" clean. 2006-02-22 16:23:43 +00:00
PassManager.h Patch #6's in Saem's refactor-the-passmanager patch series. From him: 2006-01-04 07:47:13 +00:00
PassSupport.h Speedup and simplify pass registration by the observation that there is 2006-01-23 01:01:04 +00:00
SymbolTable.h Some cleanups for compilation with GCC 4.0.0 to remove warnings: 2005-05-15 16:13:11 +00:00
SymbolTableListTraits.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
Type.h add a new Type::getIntegralTypeMask() method, which is useful for clients that 2006-02-07 06:17:10 +00:00
TypeSymbolTable.h Simple is good, CVS log is for history, not the silly credits block 2006-01-11 05:38:15 +00:00
Use.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
User.h Remove trailing whitespace 2005-04-21 20:19:05 +00:00
Value.h Allow use of isa<InlineAsm>(X) without #including InlineAsm.h 2006-01-26 01:54:21 +00:00
ValueSymbolTable.h For PR411: 2006-01-10 09:51:48 +00:00