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 | 46253ddfa7d06facd4a16cd5bd80771c15a6918f (patch) | |
tree | f0b0b0644b0038adae1aefedac31702809d91aff /include/llvm | |
parent | 1cbeb84d78f6ab311dbfcb474dddab684677ce6a (diff) | |
download | external_llvm-46253ddfa7d06facd4a16cd5bd80771c15a6918f.zip external_llvm-46253ddfa7d06facd4a16cd5bd80771c15a6918f.tar.gz external_llvm-46253ddfa7d06facd4a16cd5bd80771c15a6918f.tar.bz2 |
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')
-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 deded1a..07e593a 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; |