Merge the used symbol scanning of MCObjectStreamer and RecordStreamer.

This completes the refactoring of RecordStreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211727 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2014-06-25 18:37:33 +00:00
parent 276ef73f4a
commit 91c39aa628
5 changed files with 19 additions and 17 deletions

View File

@@ -624,19 +624,15 @@ namespace {
void EmitInstruction(const MCInst &Inst,
const MCSubtargetInfo &STI) override {
// Scan for values.
for (unsigned i = Inst.getNumOperands(); i--; )
if (Inst.getOperand(i).isExpr())
visitUsedExpr(*Inst.getOperand(i).getExpr());
MCStreamer::EmitInstruction(Inst, STI);
}
void EmitLabel(MCSymbol *Symbol) override {
MCStreamer::EmitLabel(Symbol);
markDefined(*Symbol);
}
void EmitAssignment(MCSymbol *Symbol, const MCExpr *Value) override {
// FIXME: should we handle aliases?
markDefined(*Symbol);
visitUsedExpr(*Value);
MCStreamer::EmitAssignment(Symbol, Value);
}
bool EmitSymbolAttribute(MCSymbol *Symbol,
MCSymbolAttr Attribute) override {