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 Fix newly-introduced 4.3 warnings 2008-02-20 12:07:57 +00:00
Bitcode Add an unwind_to field to basic blocks, making them Users instead of Values. 2008-03-02 02:48:09 +00:00
CodeGen Fix live variables issues: 2008-03-19 00:52:20 +00:00
Config Remove use of ltdl 2008-02-13 17:11:39 +00:00
Debugger Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ExecutionEngine Enable exception handling int JIT 2008-02-13 18:39:37 +00:00
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 Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Argument.h Add a predicate to Argument to check for the StructRet attribute. 2008-02-17 23:22:28 +00:00
AutoUpgrade.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
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 Implement sseregparm. 2008-02-05 20:46:33 +00:00
Constant.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Constants.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
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 Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
GlobalVariable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
InlineAsm.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
InstrTypes.h When transforming a call to a bitcast function into 2008-01-06 10:12:28 +00:00
Instruction.def Add GetResultInst. First step for multiple return value support. 2008-02-19 22:15:16 +00:00
Instruction.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Instructions.h move a bunch of trivial methods to be inline. 2008-03-13 05:00:21 +00:00
IntrinsicInst.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
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 remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
IntrinsicsCellSPU.td Final de-tabification. 2008-02-27 06:33:05 +00:00
IntrinsicsPowerPC.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
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 Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Linker.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
LinkTimeOptimizer.h And final pack of warnings silencing 2008-02-20 11:27:04 +00:00
Module.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ModuleProvider.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
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 Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
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 Add explicit keywords. 2008-01-29 11:36:12 +00:00
SymbolTableListTraits.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Type.h add an assertion to catch a null PATypeHolder, patch by Erick Tryzelaar 2008-02-25 21:28:46 +00:00
TypeSymbolTable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Use.h move the Use destructor where it belongs to 2008-03-14 22:03:02 +00:00
User.h To support multiple return values, now ret instruction supports multiple operands instead of one aggregate operand. 2008-02-23 00:35:18 +00:00
Value.h move the Use destructor where it belongs to 2008-03-14 22:03:02 +00:00
ValueSymbolTable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00