mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-17 18:24:34 +00:00
Don't remove aggregate-typed module level constants before encoding functions
since functions may contain aggregate constants too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73220 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -1308,16 +1308,6 @@ static void WriteModule(const Module *M, BitstreamWriter &Stream) {
|
||||
// Emit constants.
|
||||
WriteModuleConstants(VE, Stream);
|
||||
|
||||
// If we have any aggregate values in the value table, purge them - these can
|
||||
// only be used to initialize global variables. Doing so makes the value
|
||||
// namespace smaller for code in functions.
|
||||
int NumNonAggregates = VE.PurgeAggregateValues();
|
||||
if (NumNonAggregates != -1) {
|
||||
SmallVector<unsigned, 1> Vals;
|
||||
Vals.push_back(NumNonAggregates);
|
||||
Stream.EmitRecord(bitc::MODULE_CODE_PURGEVALS, Vals);
|
||||
}
|
||||
|
||||
// Emit function bodies.
|
||||
for (Module::const_iterator I = M->begin(), E = M->end(); I != E; ++I)
|
||||
if (!I->isDeclaration())
|
||||
|
Reference in New Issue
Block a user