llvm-6502/include/llvm
Andrew Trick 4b4bb71bcd Added a SimplifyIndVar utility to simplify induction variable users
based on ScalarEvolution without changing the induction variable phis.

This utility is the main tool of IndVarSimplifyPass, but the pass also
restructures induction variables in strange ways that are sensitive to
pass ordering. This provides a way for other loop passes to simplify
new uses of induction variables created during transformation. The
utility may be used by any pass that preserves ScalarEvolution. Soon
LoopUnroll will use it.

The net effect in this checkin is to cleanup the IndVarSimplify pass
by factoring out the SimplifyIndVar algorithm into a standalone utility.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137197 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-10 03:46:27 +00:00
..
ADT An interface for iterating over a loop's blocks in DFS order. 2011-08-03 23:27:28 +00:00
Analysis Added a SimplifyIndVar utility to simplify induction variable users 2011-08-10 03:46:27 +00:00
Assembly Eliminate the WriteTypeSymbolic function. Now that types know 2011-07-09 18:03:13 +00:00
Bitcode Representation of 'atomic load' and 'atomic store' in IR. 2011-08-09 23:02:53 +00:00
CodeGen Trim an unneeded header. 2011-08-09 23:49:21 +00:00
CompilerDriver llvmc: Make 'true' and 'false' instances of a 'Bool' class. 2011-05-05 04:25:03 +00:00
Config CMake: Fix LLVM_NATIVE_TARGETMC in config.h.cmake. 2011-07-23 00:45:23 +00:00
ExecutionEngine - Move CodeModel from a TargetMachine global option to MCCodeGenInfo. 2011-07-20 07:51:56 +00:00
MC Pacify virtual dtor warnings and cmake buildbots. 2011-08-08 19:09:02 +00:00
Object Teach llvm-objdump to disassemble sections symbol by symbol. 2011-07-15 18:39:24 +00:00
Support Preserve the name for this variant of IRBuilder::CreateCall 2011-08-10 01:10:08 +00:00
Target Trim an unneeded header. 2011-08-09 23:49:21 +00:00
Transforms Added a SimplifyIndVar utility to simplify induction variable users 2011-08-10 03:46:27 +00:00
Argument.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Attributes.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
AutoUpgrade.h Auto-upgrade the magic ".llvm.eh.catch.all.value" global to 2010-09-10 18:51:56 +00:00
BasicBlock.h Add r134057 back, but splice the predecessor after the successors phi 2011-06-30 20:14:24 +00:00
CallGraphSCCPass.h
CallingConv.h Use X86_thiscall calling convention for Win64 as well. 2011-03-03 07:49:07 +00:00
CMakeLists.txt Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
Constant.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Constants.h Use ArrayRef in the (protected) constructors of ConstantArray, ConstantStruct and ConstantVector. 2011-07-25 10:14:44 +00:00
DebugInfoProbe.h Introduce DebugInfoProbe. This is used to monitor how llvm optimizer is treating debugging information. 2011-03-10 00:21:25 +00:00
DefaultPasses.h Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
DerivedTypes.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Function.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
GlobalAlias.h The operands of a GlobalAlias are always Constants. Simplify things 2011-08-01 12:20:36 +00:00
GlobalValue.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
GlobalVariable.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
GVMaterializer.h
InitializePasses.h Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets. 2011-08-03 22:18:20 +00:00
InlineAsm.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
InstrTypes.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Instruction.def Add the 'resume' instruction for the new EH rewrite. 2011-07-31 06:30:59 +00:00
Instruction.h Fix AliasSetTracker so that it doesn't make any assumptions about instructions it doesn't know about (like the atomic instructions I'm adding). 2011-07-27 00:46:46 +00:00
Instructions.h Representation of 'atomic load' and 'atomic store' in IR. 2011-08-09 23:02:53 +00:00
IntrinsicInst.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Intrinsics.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Intrinsics.td Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
IntrinsicsAlpha.td
IntrinsicsARM.td Add support for ARM ldrexd/strexd intrinsics. They both use i32 register pairs 2011-05-28 04:07:29 +00:00
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsPTX.td PTX: Add intrinsics to list of built-in intrinsics, which allows them to be 2011-04-20 15:37:17 +00:00
IntrinsicsX86.td Renamed llvm.x86.sse42.crc32 intrinsics; crc64 doesn't exist. 2011-05-26 23:13:19 +00:00
IntrinsicsXCore.td Add intrinsics for the zext / sext instructions. 2011-07-19 13:28:50 +00:00
LinkAllPasses.h Remove the LowerSetJmp pass. It wasn't used effectively by any of the targets. 2011-08-03 22:18:20 +00:00
LinkAllVMCore.h Missed a spot removing Alarm. 2010-12-07 18:50:33 +00:00
Linker.h Remove obsolete comments about throwing exceptions. 2010-09-02 22:14:51 +00:00
LLVMContext.h Introduce "expect" intrinsic instructions. 2011-07-06 18:22:43 +00:00
Metadata.h Typos. 2011-06-01 23:32:40 +00:00
Module.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
OperandTraits.h OperandTraits<>::Layout isn't used for anything. Remove it. 2011-01-14 18:41:56 +00:00
Operator.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Pass.h Fix typos in comments. 2011-04-28 09:12:47 +00:00
PassAnalysisSupport.h Don't add the same analysis implementation pair twice. 2011-03-30 18:32:53 +00:00
PassManager.h
PassManagers.h Add RegionPass support. 2010-10-20 01:54:44 +00:00
PassRegistry.h Attempt to fix valgrind complaining about (benign) leaks in pass registration by having PassRegistry 2010-10-20 22:22:30 +00:00
PassSupport.h Revert r131155 for now. It makes VMCore depend on Analysis and Transforms 2011-05-10 22:16:06 +00:00
SymbolTableListTraits.h
Type.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Use.h Reinstate r133513 (reverted in r133700) with an additional fix for a 2011-06-23 09:09:15 +00:00
User.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
Value.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
ValueSymbolTable.h Merge System into Support. 2010-11-29 18:16:10 +00:00