mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-21 03:32:29 +00:00
remove the FnArgWords cache to make way for future changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98372 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ec041eba38
commit
355670bf0f
lib/Target/X86
@ -45,24 +45,19 @@ void X86COFFMachineModuleInfo::DecorateCygMingName(SmallVectorImpl<char> &Name,
|
||||
return;
|
||||
|
||||
unsigned ArgWords = 0;
|
||||
DenseMap<const Function*, unsigned>::const_iterator item = FnArgWords.find(F);
|
||||
if (item == FnArgWords.end()) {
|
||||
// Calculate arguments sizes
|
||||
for (Function::const_arg_iterator AI = F->arg_begin(), AE = F->arg_end();
|
||||
AI != AE; ++AI) {
|
||||
const Type* Ty = AI->getType();
|
||||
|
||||
// Calculate arguments sizes
|
||||
for (Function::const_arg_iterator AI = F->arg_begin(), AE = F->arg_end();
|
||||
AI != AE; ++AI) {
|
||||
const Type *Ty = AI->getType();
|
||||
|
||||
// 'Dereference' type in case of byval parameter attribute
|
||||
if (AI->hasByValAttr())
|
||||
Ty = cast<PointerType>(Ty)->getElementType();
|
||||
// 'Dereference' type in case of byval parameter attribute
|
||||
if (AI->hasByValAttr())
|
||||
Ty = cast<PointerType>(Ty)->getElementType();
|
||||
|
||||
// Size should be aligned to DWORD boundary
|
||||
ArgWords += ((TD.getTypeAllocSize(Ty) + 3)/4)*4;
|
||||
}
|
||||
|
||||
FnArgWords[F] = ArgWords;
|
||||
} else
|
||||
ArgWords = item->second;
|
||||
// Size should be aligned to DWORD boundary
|
||||
ArgWords += ((TD.getTypeAllocSize(Ty) + 3)/4)*4;
|
||||
}
|
||||
|
||||
const FunctionType *FT = F->getFunctionType();
|
||||
// "Pure" variadic functions do not receive @0 suffix.
|
||||
|
@ -26,7 +26,6 @@ namespace llvm {
|
||||
/// for X86 COFF targets.
|
||||
class X86COFFMachineModuleInfo : public MachineModuleInfoImpl {
|
||||
StringSet<> CygMingStubs;
|
||||
DenseMap<const Function*, unsigned> FnArgWords;
|
||||
public:
|
||||
X86COFFMachineModuleInfo(const MachineModuleInfo &);
|
||||
~X86COFFMachineModuleInfo();
|
||||
|
Loading…
x
Reference in New Issue
Block a user