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.

llvm-svn: 28717
This commit is contained in:
Chris Lattner 2006-06-07 22:20:03 +00:00
parent 2b5d481ae1
commit 038432eeb3

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));
}