diff options
author | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2008-04-13 13:40:22 +0000 |
---|---|---|
committer | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2008-04-13 13:40:22 +0000 |
commit | c0cb28fd3abee9a8b40856990e04f1af2f9bd7b8 (patch) | |
tree | f0b0b0644b0038adae1aefedac31702809d91aff /include/llvm/CodeGen/SelectionDAGNodes.h | |
parent | fa0e66471f3b2d12db88a3715f2315e0408d79dd (diff) |
Add a divided flag for the first piece of an argument divided into mulitple parts. Fixes PR1643
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49611 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAGNodes.h')
-rw-r--r-- | include/llvm/CodeGen/SelectionDAGNodes.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index deded1a36a..07e593afb7 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -1734,6 +1734,8 @@ namespace ISD { static const uint64_t NestOffs = 5; static const uint64_t ByValAlign = 0xFULL << 6; //< Struct alignment static const uint64_t ByValAlignOffs = 6; + static const uint64_t Divided = 1ULL << 10; + static const uint64_t DividedOffs = 10; static const uint64_t OrigAlign = 0x1FULL<<27; static const uint64_t OrigAlignOffs = 27; static const uint64_t ByValSize = 0xffffffffULL << 32; //< Struct size @@ -1770,6 +1772,9 @@ namespace ISD { Flags = (Flags & ~ByValAlign) | (uint64_t(Log2_32(A) + 1) << ByValAlignOffs); } + + bool isDivided() const { return Flags & Divided; } + void setDivided() { Flags |= One << DividedOffs; } unsigned getOrigAlign() const { return (One << ((Flags & OrigAlign) >> OrigAlignOffs)) / 2; |