mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 04:24:00 +00:00
Split GlobalValue into GlobalValue and GlobalObject.
This allows code to statically accept a Function or a GlobalVariable, but not an alias. This is already a cleanup by itself IMHO, but the main reason for it is that it gives a lot more confidence that the refactoring to fix the design of GlobalAlias is correct. That will be a followup patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208716 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -209,7 +209,7 @@ void Function::eraseFromParent() {
|
||||
|
||||
Function::Function(FunctionType *Ty, LinkageTypes Linkage,
|
||||
const Twine &name, Module *ParentModule)
|
||||
: GlobalValue(PointerType::getUnqual(Ty),
|
||||
: GlobalObject(PointerType::getUnqual(Ty),
|
||||
Value::FunctionVal, nullptr, 0, Linkage, name) {
|
||||
assert(FunctionType::isValidReturnType(getReturnType()) &&
|
||||
"invalid return type");
|
||||
@ -361,7 +361,7 @@ void Function::clearGC() {
|
||||
/// create a Function) from the Function Src to this one.
|
||||
void Function::copyAttributesFrom(const GlobalValue *Src) {
|
||||
assert(isa<Function>(Src) && "Expected a Function!");
|
||||
GlobalValue::copyAttributesFrom(Src);
|
||||
GlobalObject::copyAttributesFrom(Src);
|
||||
const Function *SrcF = cast<Function>(Src);
|
||||
setCallingConv(SrcF->getCallingConv());
|
||||
setAttributes(SrcF->getAttributes());
|
||||
|
Reference in New Issue
Block a user