llvm-6502/include/llvm
Evan Cheng 4784f1fc73 Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them.
The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing.

This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74518 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-30 08:49:04 +00:00
..
ADT Temporarily revert r74494. It was causing failures in the unit tests. 2009-06-30 07:05:27 +00:00
Analysis Minimal LDA interface, maximally conservative tester. 2009-06-28 00:21:21 +00:00
Assembly add a #include to improve portability to windows, as requested by 2009-03-09 05:10:08 +00:00
Bitcode Fix three MSVC 2008 warnings that completely clutter the build output. 2009-06-29 17:12:06 +00:00
CodeGen Add a bit IsUndef to MachineOperand. This indicates the def / use register operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. 2009-06-30 08:49:04 +00:00
CompilerDriver Move the driver entry point out of Main.inc. 2009-06-30 00:15:24 +00:00
Config CMake: add configure checks for pthread_rwlock_init and pthread_getspecific 2009-06-26 14:35:43 +00:00
Debugger Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
ExecutionEngine Add a JITEventListener interface that gets called back when a new function is 2009-06-25 02:04:04 +00:00
MC llvm-mc: Evaluation for relocatable expressions. 2009-06-30 01:49:52 +00:00
Support Normalize SourceMgr messages. 2009-06-30 00:49:23 +00:00
System Add support for const thread locals. 2009-06-25 23:31:18 +00:00
Target Increase limit for OpActions array 2009-06-24 22:22:02 +00:00
Transforms Teach LoopSimplify how to merge multiple loop exits into a single exit, 2009-06-27 21:30:38 +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 Add constructor to create MDString using std::string 2009-06-24 22:42:39 +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 more vector ValueTypes for AVX and other extended vector instruction 2009-06-29 16:47:10 +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 missing argument for vtbx intrinsic. 2009-06-26 22:27:22 +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 Scaffolding for LDA pass. 2009-06-24 21:29:13 +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
LLVMContext.h Add LLVMContext, which will eventually be used as a container for privatizing a lot of (currently) global state, including the 2009-06-30 00:48:55 +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