llvm-6502/include/llvm
Dan Gohman 40a5a1b39e Extend ScalarEvolution's multiple-exit support to compute exact
trip counts in more cases.

Generalize ScalarEvolution's isLoopGuardedByCond code to recognize
And and Or conditions, splitting the code out into an
isNecessaryCond helper function so that it can evaluate Ands and Ors
recursively, and make SCEVExpander be much more aggressive about
hoisting instructions out of loops.

test/CodeGen/X86/pr3495.ll has an additional instruction now, but
it appears to be due to an arbitrary register allocation difference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-24 01:18:18 +00:00
..
ADT Use atomic operations when accessing statistics, and make the lazy initialization of statistics actually threadsafe. 2009-06-23 21:19:38 +00:00
Analysis Extend ScalarEvolution's multiple-exit support to compute exact 2009-06-24 01:18:18 +00:00
Assembly add a #include to improve portability to windows, as requested by 2009-03-09 05:10:08 +00:00
Bitcode Give embedded metadata its own type instead of relying on EmptyStructTy. 2009-05-30 05:06:04 +00:00
CodeGen Add more methods to gather target specific elf stuff 2009-06-22 19:16:16 +00:00
CompilerDriver Make llvmc work again. 2009-06-23 20:46:48 +00:00
Config Provide InitializeAllTargets and InitializeNativeTarget functions in the 2009-06-23 23:59:40 +00:00
Debugger Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
ExecutionEngine Remove unused parameter warnings. 2009-06-11 20:10:02 +00:00
MC Start MCAsmStreamer implementation. 2009-06-24 01:03:06 +00:00
Support Make timers threadsafe again. This isn't quite as nice as I'd hoped (it uses locking rather than atomic arithmetic), 2009-06-23 20:52:29 +00:00
System Add atomic multiply and divide operations, built on top of CompareAndSwap. 2009-06-23 21:19:04 +00:00
Target Provide InitializeAllTargets and InitializeNativeTarget functions in the 2009-06-23 23:59:40 +00:00
Transforms Generalize instcombine's isSafeToLoadUnconditionally() function 2009-06-16 17:23:12 +00:00
AbstractTypeUser.h Another attempt at fixing PR2975. 2009-04-07 17:23:02 +00:00
Argument.h Don't analyze arguments already marked 'nocapture'. 2008-12-31 18:08:59 +00:00
Attributes.h Cosmetic changes to parameter attribute verification. 2009-06-11 08:11:03 +00:00
AutoUpgrade.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
BasicBlock.h Revert r67844. This fixes the llvm-gcc-4.2 build on Darwin. 2009-03-27 18:37:13 +00:00
CallGraphSCCPass.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
CallingConv.h Address review comments: add 3 ARM calling conventions. 2009-06-16 18:50:49 +00:00
CMakeLists.txt CMake: Have generated Xcode projects also contain the LLVM header files. 2009-04-01 15:40:21 +00:00
Constant.h Revert r73790, and replace it with a significantly less ugly solution. Rather than trying to make the global reader-writer lock work, 2009-06-20 00:24:58 +00:00
Constants.h Revert r73790, and replace it with a significantly less ugly solution. Rather than trying to make the global reader-writer lock work, 2009-06-20 00:24:58 +00:00
DerivedTypes.h Forgot this file in my last commit. 2009-06-16 22:56:04 +00:00
Function.h Implement and use new method Function::hasAddressTaken(). 2009-06-10 08:41:11 +00:00
GlobalAlias.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
GlobalValue.h Revert r73790, and replace it with a significantly less ugly solution. Rather than trying to make the global reader-writer lock work, 2009-06-20 00:24:58 +00:00
GlobalVariable.h Factorize out a concept - no functionality change. 2009-03-21 21:27:31 +00:00
InlineAsm.h Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies. 2009-03-23 08:01:15 +00:00
InstrTypes.h Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
Instruction.def Split the Add, Sub, and Mul instruction opcodes into separate 2009-06-04 22:49:04 +00:00
Instruction.h Allow readonly functions to unwind exceptions. Teach 2009-05-06 06:49:50 +00:00
Instructions.h Remove getType() overrides for ExtractValueInst and InsertValueInst. 2009-05-18 18:46:57 +00:00
IntrinsicInst.h change the MemIntrinsic get/setAlignment method to take an unsigned 2009-03-08 03:59:00 +00:00
Intrinsics.h Added support to have TableGen provide information if an intrinsic (core 2009-02-24 23:17:49 +00:00
Intrinsics.td Add support for ARM's Advanced SIMD (NEON) instruction set. 2009-06-22 23:27:02 +00:00
IntrinsicsAlpha.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsARM.td Add support for ARM's Advanced SIMD (NEON) instruction set. 2009-06-22 23:27:02 +00:00
IntrinsicsCellSPU.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsPowerPC.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsX86.td ADDS{D|S}rr_Int and MULS{D|S}rr_Int are not commutable. The users of these intrinsics expect the high bits will not be modified. 2009-02-26 03:12:02 +00:00
IntrinsicsXCore.td Add XCore intrinsics for getid (returns thread id) and bitrev (reverses 2008-11-14 10:12:16 +00:00
LinkAllPasses.h Add an early implementation of a partial inlining pass. The idea behind this 2009-06-14 08:26:32 +00:00
LinkAllVMCore.h opt was not exporting the Mangler symbols 2008-11-05 22:42:50 +00:00
Linker.h * Alphabetized system headers per the style guide 2009-01-02 20:26:30 +00:00
MDNode.h Revert r73790, and replace it with a significantly less ugly solution. Rather than trying to make the global reader-writer lock work, 2009-06-20 00:24:58 +00:00
Module.h "ghostify" the ilist<Function> sentinel 2009-03-27 22:28:33 +00:00
ModuleProvider.h Remove warnings about unused parameters and shadowed variables. 2008-05-19 20:15:12 +00:00
OperandTraits.h Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes relative to op_end. 2009-03-10 23:02:13 +00:00
Pass.h Remove dead code. 2009-04-01 21:27:08 +00:00
PassAnalysisSupport.h Simplify assertion message to avoid confusion. 2009-06-02 17:26:29 +00:00
PassManager.h allow updating the MPM, so that you can use one FunctionPAssManager with 2008-06-26 22:26:45 +00:00
PassManagers.h Clean up pass manager cache after each run. 2009-04-01 22:34:41 +00:00
PassSupport.h remove a deprecated interface that was pretty useless 2009-03-02 12:42:07 +00:00
SymbolTableListTraits.h simplify the way how traits get hold of the symbol table 2009-03-07 12:33:24 +00:00
Type.h Revert my last series of commits related to Timer and 64-bit atomics. Not all the targets 2009-06-23 20:17:22 +00:00
TypeSymbolTable.h Fixed spelling. 2009-04-01 16:13:29 +00:00
Use.h Add a comment to refer to the section of the programmer's manual that explains what the pointer tagging in Use is for. 2009-04-30 23:28:50 +00:00
User.h Fix the Win32 VS2008 build: 2009-03-19 23:26:52 +00:00
Value.h Add support for embedded metadata to LLVM. This introduces two new types of 2009-04-04 07:22:01 +00:00
ValueSymbolTable.h implement some fixme's by making "autorenaming" in the value symbol table not 2008-06-27 21:26:26 +00:00