mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
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
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user