Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
Show First 20 Lines • Show All 563 Lines • ▼ Show 20 Lines | bool mayNeedRelaxation(MCInst const &Inst) const override { | ||||
return true; | return true; | ||||
} | } | ||||
/// fixupNeedsRelaxation - Target specific predicate for whether a given | /// fixupNeedsRelaxation - Target specific predicate for whether a given | ||||
/// fixup requires the associated instruction to be relaxed. | /// fixup requires the associated instruction to be relaxed. | ||||
bool fixupNeedsRelaxationAdvanced(const MCFixup &Fixup, bool Resolved, | bool fixupNeedsRelaxationAdvanced(const MCFixup &Fixup, bool Resolved, | ||||
uint64_t Value, | uint64_t Value, | ||||
const MCRelaxableFragment *DF, | const MCRelaxableFragment *DF, | ||||
const MCAsmLayout &Layout) const override { | const MCAsmLayout &Layout, | ||||
const bool WasForced) const override { | |||||
MCInst const &MCB = DF->getInst(); | MCInst const &MCB = DF->getInst(); | ||||
assert(HexagonMCInstrInfo::isBundle(MCB)); | assert(HexagonMCInstrInfo::isBundle(MCB)); | ||||
*RelaxTarget = nullptr; | *RelaxTarget = nullptr; | ||||
MCInst &MCI = const_cast<MCInst &>(HexagonMCInstrInfo::instruction( | MCInst &MCI = const_cast<MCInst &>(HexagonMCInstrInfo::instruction( | ||||
MCB, Fixup.getOffset() / HEXAGON_INSTR_SIZE)); | MCB, Fixup.getOffset() / HEXAGON_INSTR_SIZE)); | ||||
bool Relaxable = isInstRelaxable(MCI); | bool Relaxable = isInstRelaxable(MCI); | ||||
if (Relaxable == false) | if (Relaxable == false) | ||||
▲ Show 20 Lines • Show All 195 Lines • Show Last 20 Lines |