llvm-6502/lib/IR
Pete Cooper aaa3fa61d2 Rename NumOperands to make it clear its managed by the User. NFC.
This is to try make it very clear that subclasses shouldn't be changing
the value directly.  Now that OperandList for normal instructions is computed
using the NumOperands, its critical that the NumOperands is accurate or we
could compute the wrong offset to the first operand.

I looked over all places which update NumOperands and they are all safe.
Hung off use User's don't use NumOperands to compute the OperandList so they
are safe to continue to manipulate it.  The only other User which changed it
was GlobalVariable which has an optional init list but always allocated space
for a single Use.  It was correctly setting NumOperands to 1 before setting an
initializer, and setting it to 0 after clearing the init list, so the order was safe.

Added some comments to that code to make sure that this isn't changed in future
without being aware of this constraint.

Reviewed by Duncan Exon Smith.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239621 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-12 17:48:10 +00:00
..
AsmWriter.cpp Prefer copy init over direct init. NFC. 2015-06-08 18:58:57 +00:00
AttributeImpl.h
Attributes.cpp
AutoUpgrade.cpp
BasicBlock.cpp Set proper debug location for branch added in BasicBlock::splitBasicBlock(). 2015-06-11 18:25:54 +00:00
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp [ConstantFold] Don't skip the first gep index when folding geps 2015-06-04 07:01:56 +00:00
ConstantFold.h
ConstantRange.cpp
Constants.cpp Replace all accesses to User::OperandList with getter and setter methods. NFC. 2015-06-12 17:48:05 +00:00
ConstantsContext.h
Core.cpp [C API] Add LLVMStructGetTypeAtIndex. 2015-06-04 09:09:53 +00:00
DataLayout.cpp
DebugInfo.cpp
DebugInfoMetadata.cpp
DebugLoc.cpp
DiagnosticInfo.cpp Replace an instance of custom atomics with standard ones. 2015-06-11 17:30:34 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp
Dominators.cpp
Function.cpp ArgumentPromotion: Drop sret attribute on functions that are only called directly. 2015-06-10 21:14:34 +00:00
GCOV.cpp
Globals.cpp Rename NumOperands to make it clear its managed by the User. NFC. 2015-06-12 17:48:10 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp Rename NumOperands to make it clear its managed by the User. NFC. 2015-06-12 17:48:10 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
IRPrintingPasses.cpp
LegacyPassManager.cpp Rangify more for loops in LegacyPassManager.cpp. 2015-06-05 17:48:47 +00:00
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile
Mangler.cpp Revert "Move dllimport name mangling to IR mangler." 2015-06-11 01:31:48 +00:00
MDBuilder.cpp
Metadata.cpp
MetadataImpl.h
MetadataTracking.cpp
Module.cpp
module.modulemap
Operator.cpp
Pass.cpp
PassManager.cpp
PassRegistry.cpp
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp Int128 is also a built-in preconstructed type. 2015-06-02 23:56:53 +00:00
TypeFinder.cpp
Use.cpp
User.cpp Rename NumOperands to make it clear its managed by the User. NFC. 2015-06-12 17:48:10 +00:00
Value.cpp Rename NumOperands to make it clear its managed by the User. NFC. 2015-06-12 17:48:10 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp