mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +00:00
Share ConstPoolPointer elements correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@706 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a861f966fd
commit
7323c69a31
@ -217,10 +217,7 @@ protected:
|
||||
ConstPoolPointer(const PointerType *T);
|
||||
~ConstPoolPointer() {}
|
||||
public:
|
||||
static ConstPoolPointer *getNullPointer(const PointerType *T) {
|
||||
// FIXME: These should all be shared!
|
||||
return new ConstPoolPointer(T);
|
||||
}
|
||||
static ConstPoolPointer *getNull(const PointerType *T);
|
||||
|
||||
virtual string getStrValue() const;
|
||||
};
|
||||
|
@ -46,7 +46,14 @@ public:
|
||||
inline ConstPoolVal *getInitializer() {
|
||||
return (ConstPoolVal*)Operands[0].get();
|
||||
}
|
||||
inline void setInitializer(ConstPoolVal *CPV) { Operands[0] = (Value*)CPV; }
|
||||
inline void setInitializer(ConstPoolVal *CPV) {
|
||||
if (CPV == 0) {
|
||||
if (hasInitializer()) Operands.pop_back();
|
||||
} else {
|
||||
if (!hasInitializer()) Operands.push_back(Use(0, this));
|
||||
Operands[0] = (Value*)CPV;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// If the value is a global constant, its value is immutable throughout the
|
||||
|
Loading…
Reference in New Issue
Block a user