Example #1
0
void LLVMTargetMachine::initAsmInfo() {
    MRI = TheTarget.createMCRegInfo(getTargetTriple().str());
    MII = TheTarget.createMCInstrInfo();
    // FIXME: Having an MCSubtargetInfo on the target machine is a hack due
    // to some backends having subtarget feature dependent module level
    // code generation. This is similar to the hack in the AsmPrinter for
    // module level assembly etc.
    STI = TheTarget.createMCSubtargetInfo(getTargetTriple().str(), getTargetCPU(),
                                          getTargetFeatureString());

    MCAsmInfo *TmpAsmInfo =
        TheTarget.createMCAsmInfo(*MRI, getTargetTriple().str());
    // TargetSelect.h moved to a different directory between LLVM 2.9 and 3.0,
    // and if the old one gets included then MCAsmInfo will be NULL and
    // we'll crash later.
    // Provide the user with a useful error message about what's wrong.
    assert(TmpAsmInfo && "MCAsmInfo not initialized. "
           "Make sure you include the correct TargetSelect.h"
           "and that InitializeAllTargetMCs() is being invoked!");

    if (Options.DisableIntegratedAS)
        TmpAsmInfo->setUseIntegratedAssembler(false);

    if (Options.CompressDebugSections)
        TmpAsmInfo->setCompressDebugSections(true);

    AsmInfo = TmpAsmInfo;
}
Example #2
0
void LLVMTargetMachine::initAsmInfo() {
  MCAsmInfo *TmpAsmInfo = TheTarget.createMCAsmInfo(*getRegisterInfo(),
                                                    TargetTriple);
  // TargetSelect.h moved to a different directory between LLVM 2.9 and 3.0,
  // and if the old one gets included then MCAsmInfo will be NULL and
  // we'll crash later.
  // Provide the user with a useful error message about what's wrong.
  assert(TmpAsmInfo && "MCAsmInfo not initialized. "
         "Make sure you include the correct TargetSelect.h"
         "and that InitializeAllTargetMCs() is being invoked!");

  if (Options.DisableIntegratedAS)
    TmpAsmInfo->setUseIntegratedAssembler(false);

  if (Options.CompressDebugSections)
    TmpAsmInfo->setCompressDebugSections(true);

  AsmInfo = TmpAsmInfo;
}