summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CodeGenInstruction.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2014-02-05 09:10:40 +0000
committerCraig Topper <craig.topper@gmail.com>2014-02-05 09:10:40 +0000
commitbc9486bea08428b9137b9a5404d8fdadc8b16a54 (patch)
tree9b917560871a76e07ce15f73ca051b0252fad4a3 /llvm/utils/TableGen/CodeGenInstruction.h
parent4c6129af32c988d047f4ae96dec2003e37212ab5 (diff)
downloadbcm5719-llvm-bc9486bea08428b9137b9a5404d8fdadc8b16a54.tar.gz
bcm5719-llvm-bc9486bea08428b9137b9a5404d8fdadc8b16a54.zip
Shrink the size of CodeGenInstruction a little bit by using bitfields. 32 bools seemed excessive.
llvm-svn: 200829
Diffstat (limited to 'llvm/utils/TableGen/CodeGenInstruction.h')
-rw-r--r--llvm/utils/TableGen/CodeGenInstruction.h64
1 files changed, 32 insertions, 32 deletions
diff --git a/llvm/utils/TableGen/CodeGenInstruction.h b/llvm/utils/TableGen/CodeGenInstruction.h
index 6004f667927..bc578136c6a 100644
--- a/llvm/utils/TableGen/CodeGenInstruction.h
+++ b/llvm/utils/TableGen/CodeGenInstruction.h
@@ -215,38 +215,38 @@ namespace llvm {
std::vector<Record*> ImplicitDefs, ImplicitUses;
// Various boolean values we track for the instruction.
- bool isReturn;
- bool isBranch;
- bool isIndirectBranch;
- bool isCompare;
- bool isMoveImm;
- bool isBitcast;
- bool isSelect;
- bool isBarrier;
- bool isCall;
- bool canFoldAsLoad;
- bool mayLoad;
- bool mayLoad_Unset;
- bool mayStore;
- bool mayStore_Unset;
- bool isPredicable;
- bool isConvertibleToThreeAddress;
- bool isCommutable;
- bool isTerminator;
- bool isReMaterializable;
- bool hasDelaySlot;
- bool usesCustomInserter;
- bool hasPostISelHook;
- bool hasCtrlDep;
- bool isNotDuplicable;
- bool hasSideEffects;
- bool hasSideEffects_Unset;
- bool neverHasSideEffects;
- bool isAsCheapAsAMove;
- bool hasExtraSrcRegAllocReq;
- bool hasExtraDefRegAllocReq;
- bool isCodeGenOnly;
- bool isPseudo;
+ bool isReturn : 1;
+ bool isBranch : 1;
+ bool isIndirectBranch : 1;
+ bool isCompare : 1;
+ bool isMoveImm : 1;
+ bool isBitcast : 1;
+ bool isSelect : 1;
+ bool isBarrier : 1;
+ bool isCall : 1;
+ bool canFoldAsLoad : 1;
+ bool mayLoad : 1;
+ bool mayLoad_Unset : 1;
+ bool mayStore : 1;
+ bool mayStore_Unset : 1;
+ bool isPredicable : 1;
+ bool isConvertibleToThreeAddress : 1;
+ bool isCommutable : 1;
+ bool isTerminator : 1;
+ bool isReMaterializable : 1;
+ bool hasDelaySlot : 1;
+ bool usesCustomInserter : 1;
+ bool hasPostISelHook : 1;
+ bool hasCtrlDep : 1;
+ bool isNotDuplicable : 1;
+ bool hasSideEffects : 1;
+ bool hasSideEffects_Unset : 1;
+ bool neverHasSideEffects : 1;
+ bool isAsCheapAsAMove : 1;
+ bool hasExtraSrcRegAllocReq : 1;
+ bool hasExtraDefRegAllocReq : 1;
+ bool isCodeGenOnly : 1;
+ bool isPseudo : 1;
std::string DeprecatedReason;
bool HasComplexDeprecationPredicate;
OpenPOWER on IntegriCloud