mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
MergeFunc patch from Björn Steinbrink.
Phabricator ticket: D4246, Don't merge functions with different range metadata on call/invoke. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213060 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -766,13 +766,23 @@ int FunctionComparator::cmpOperation(const Instruction *L,
|
||||
if (int Res = cmpNumbers(CI->getCallingConv(),
|
||||
cast<CallInst>(R)->getCallingConv()))
|
||||
return Res;
|
||||
return cmpAttrs(CI->getAttributes(), cast<CallInst>(R)->getAttributes());
|
||||
if (int Res =
|
||||
cmpAttrs(CI->getAttributes(), cast<CallInst>(R)->getAttributes()))
|
||||
return Res;
|
||||
return cmpNumbers(
|
||||
(uint64_t)CI->getMetadata(LLVMContext::MD_range),
|
||||
(uint64_t)cast<CallInst>(R)->getMetadata(LLVMContext::MD_range));
|
||||
}
|
||||
if (const InvokeInst *CI = dyn_cast<InvokeInst>(L)) {
|
||||
if (int Res = cmpNumbers(CI->getCallingConv(),
|
||||
cast<InvokeInst>(R)->getCallingConv()))
|
||||
return Res;
|
||||
return cmpAttrs(CI->getAttributes(), cast<InvokeInst>(R)->getAttributes());
|
||||
if (int Res =
|
||||
cmpAttrs(CI->getAttributes(), cast<InvokeInst>(R)->getAttributes()))
|
||||
return Res;
|
||||
return cmpNumbers(
|
||||
(uint64_t)CI->getMetadata(LLVMContext::MD_range),
|
||||
(uint64_t)cast<InvokeInst>(R)->getMetadata(LLVMContext::MD_range));
|
||||
}
|
||||
if (const InsertValueInst *IVI = dyn_cast<InsertValueInst>(L)) {
|
||||
ArrayRef<unsigned> LIndices = IVI->getIndices();
|
||||
|
Reference in New Issue
Block a user