Fix a bug where the types for inlineasm nodes were not properly entered into

the compaction table for a function.  This broke compilation of hexxagon
on darwin/x86 with recent changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28717 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-06-07 22:20:03 +00:00
parent 454d85be66
commit 101cefa14a

View File

@ -275,7 +275,7 @@ void SlotCalculator::incorporateFunction(const Function *F) {
SC_DEBUG("begin processFunction!\n");
// If we emitted all of the function constants, build a compaction table.
if ( ModuleContainsAllFunctionConstants)
if (ModuleContainsAllFunctionConstants)
buildCompactionTable(F);
// Update the ModuleLevel entries to be accurate.
@ -465,7 +465,7 @@ void SlotCalculator::buildCompactionTable(const Function *F) {
for (const_inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I) {
getOrCreateCompactionTableSlot(I->getType());
for (unsigned op = 0, e = I->getNumOperands(); op != e; ++op)
if (isa<Constant>(I->getOperand(op)))
if (isa<Constant>(I->getOperand(op)) || isa<InlineAsm>(I->getOperand(op)))
getOrCreateCompactionTableSlot(I->getOperand(op));
}