llvm-6502/include/llvm
Dan Gohman 453aa4fbf1 Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid
sending SCEVUnknowns to expandAddToGEP. This avoids the need for
expandAddToGEP to bend the rules and peek into SCEVUnknown
expressions.

Factor out the code for testing whether a SCEV can be factored by
a constant for use in a GEP index. This allows it to handle
SCEVAddRecExprs, by recursing.

As a result, SCEVExpander can now put more things in GEP indices,
so it emits fewer explicit mul instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72366 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-24 18:06:31 +00:00
..
ADT Add llvm::triple constructor from arch, vendor, os strings, and recognize 2009-05-22 02:24:11 +00:00
Analysis Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid 2009-05-24 18:06:31 +00:00
Assembly
Bitcode
CodeGen Add a new step to legalization to legalize vector math operations. This 2009-05-23 12:35:30 +00:00
CompilerDriver
Config Forgot this file in my last commit. 2009-05-19 22:25:55 +00:00
Debugger
ExecutionEngine
Support Add an accessor method to return the insertion point. 2009-05-20 21:45:41 +00:00
System Use DataTypes.h instead of stdint.h. 2009-05-21 00:48:13 +00:00
Target Propagate CPU string out of SubtargetFeatures 2009-05-23 19:50:50 +00:00
Transforms
AbstractTypeUser.h
Argument.h
Attributes.h
AutoUpgrade.h
BasicBlock.h
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt
Constant.h
Constants.h Add a getAlignOf helper for getting the ABI alignment of a 2009-05-21 15:52:21 +00:00
DerivedTypes.h
Function.h
GlobalAlias.h
GlobalValue.h available_externall linkage is not local, this was confusing the codegenerator, 2009-05-23 14:06:57 +00:00
GlobalVariable.h
InlineAsm.h
InstrTypes.h
Instruction.def
Instruction.h
Instructions.h
IntrinsicInst.h
Intrinsics.h
Intrinsics.td
IntrinsicsAlpha.td
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td
IntrinsicsXCore.td
LinkAllPasses.h
LinkAllVMCore.h
Linker.h
MDNode.h
Module.h
ModuleProvider.h
OperandTraits.h
Pass.h
PassAnalysisSupport.h
PassManager.h
PassManagers.h
PassSupport.h
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h
Use.h
User.h
Value.h
ValueSymbolTable.h