llvm-6502/include/llvm
Evan Cheng 94202018c5 Fix live variables issues:
1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue.
2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register:
   = EAX, AX<imp-use,kill>
...
AX =
In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48521 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-19 00:52:20 +00:00
..
ADT Dial down gcc's warnings: don't use 0UL when 0U suffices (and when the 2008-03-18 16:55:06 +00:00
Analysis Do not use virtual function to identify an analysis pass. 2008-03-19 00:48:41 +00:00
Assembly
Bitcode
CodeGen Fix live variables issues: 2008-03-19 00:52:20 +00:00
Config
Debugger
ExecutionEngine
Support Reimplement the parameter attributes support, phase #1. hilights: 2008-03-12 17:45:29 +00:00
System Restore this member, which is used on win32. 2008-03-14 21:17:54 +00:00
Target Make insert_subreg a two-address instruction, vastly simplifying LowerSubregs pass. Add a new TII, subreg_to_reg, which is like insert_subreg except that it takes an immediate implicit value to insert into rather than a register. 2008-03-16 03:12:01 +00:00
Transforms add a pass that can extract all kinds of global values, not just functions. Update llvm-extract to use it and optionally extract a global variable if you want it too 2008-03-07 19:51:57 +00:00
AbstractTypeUser.h
Argument.h
AutoUpgrade.h
BasicBlock.h Two things. Preserve the unwind_to when splitting a BB. 2008-03-09 05:04:48 +00:00
CallGraphSCCPass.h Do not use virtual function to identify an analysis pass. 2008-03-19 00:48:41 +00:00
CallingConv.h
Constant.h
Constants.h
DerivedTypes.h Revert SmallVector ctor variants. 2008-03-04 21:54:56 +00:00
Function.h move a bunch of trivial methods to be inline. 2008-03-13 05:00:21 +00:00
GlobalAlias.h Add helper for ultimate aliasee resoltion 2008-03-11 22:28:56 +00:00
GlobalValue.h
GlobalVariable.h
InlineAsm.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
InstrTypes.h
Instruction.def
Instruction.h
Instructions.h move a bunch of trivial methods to be inline. 2008-03-13 05:00:21 +00:00
IntrinsicInst.h
Intrinsics.h Reimplement the parameter attributes support, phase #1. hilights: 2008-03-12 17:45:29 +00:00
Intrinsics.td Fix 80 column violations. 2008-03-04 03:19:19 +00:00
IntrinsicsARM.td
IntrinsicsCellSPU.td
IntrinsicsPowerPC.td
IntrinsicsX86.td __builtin_ia32_movntdqa reads memory 2008-03-16 21:15:47 +00:00
LinkAllPasses.h Add new sretpromotion pass. 2008-03-07 21:07:34 +00:00
LinkAllVMCore.h
Linker.h
LinkTimeOptimizer.h
Module.h
ModuleProvider.h
ParameterAttributes.h Various improvements suggested by Duncan 2008-03-13 04:33:03 +00:00
Pass.h Do not use virtual function to identify an analysis pass. 2008-03-19 00:48:41 +00:00
PassAnalysisSupport.h
PassManager.h Give PassManager and FunctionPassManager a common base class, with 2008-03-11 16:41:42 +00:00
PassManagers.h Move the PMStack class out of Pass.h and into PassManagers.h. 2008-03-14 18:14:29 +00:00
PassSupport.h
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h
Use.h move the Use destructor where it belongs to 2008-03-14 22:03:02 +00:00
User.h
Value.h move the Use destructor where it belongs to 2008-03-14 22:03:02 +00:00
ValueSymbolTable.h