don't bother trying to avoid emitting redundant constant pool alignment directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84512 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-10-19 18:08:02 +00:00
parent fc5451e82f
commit a10343f039

View File

@ -77,13 +77,10 @@ namespace {
/// visibility that require non-lazy-pointers for indirect access. /// visibility that require non-lazy-pointers for indirect access.
StringMap<std::string> HiddenGVNonLazyPtrs; StringMap<std::string> HiddenGVNonLazyPtrs;
/// True if asm printer is printing a series of CONSTPOOL_ENTRY.
bool InCPMode;
public: public:
explicit ARMAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM, explicit ARMAsmPrinter(formatted_raw_ostream &O, TargetMachine &TM,
const MCAsmInfo *T, bool V) const MCAsmInfo *T, bool V)
: AsmPrinter(O, TM, T, V), AFI(NULL), MCP(NULL), : AsmPrinter(O, TM, T, V), AFI(NULL), MCP(NULL) {
InCPMode(false) {
Subtarget = &TM.getSubtarget<ARMSubtarget>(); Subtarget = &TM.getSubtarget<ARMSubtarget>();
} }
@ -259,7 +256,6 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
if (Subtarget->isTargetDarwin()) if (Subtarget->isTargetDarwin())
O << "\t" << CurrentFnName; O << "\t" << CurrentFnName;
O << "\n"; O << "\n";
InCPMode = false;
} else { } else {
EmitAlignment(FnAlign, F); EmitAlignment(FnAlign, F);
} }
@ -1027,17 +1023,8 @@ void ARMAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
++EmittedInsts; ++EmittedInsts;
int Opc = MI->getOpcode(); int Opc = MI->getOpcode();
switch (Opc) { if (Opc == ARM::CONSTPOOL_ENTRY)
case ARM::CONSTPOOL_ENTRY: EmitAlignment(2);
if (!InCPMode && AFI->isThumbFunction()) {
EmitAlignment(2);
InCPMode = true;
}
break;
default: {
if (InCPMode && AFI->isThumbFunction())
InCPMode = false;
}}
// Call the autogenerated instruction printer routines. // Call the autogenerated instruction printer routines.
processDebugLoc(MI, true); processDebugLoc(MI, true);