[llvm-dev] Help Required llc runtime error for simple MachineFunctionPass

vivek pandya via llvm-dev llvm-dev at lists.llvm.org
Fri Feb 26 10:20:51 PST 2016


Hello ,

I have written a very simple MachineFunction Pass that currently does
nothing. It compiles fine but when I try to load it with llc it give me
following error:

llc -optimize-regalloc=0 -load lib/GCRA.dylib -regalloc=gc test/fibo.bc

Pass 'Bundle Machine CFG Edges' is not initialized.

Verify if there is a pass dependency cycle.

What is going wrong here ?
Here is my very simple code:

//===-- GCRA.cpp - Regsiter Allocator --------------------------------===//
//
//
//
//===-----------------------------------------------------------------===//
//
// This is very simple register allocator based on George and Appel.
//
//===-----------------------------------------------------------------===//

#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/RegAllocRegistry.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#define DEBUG_TYPE "gcra"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Compiler.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/PassAnalysisSupport.h"

using namespace llvm;

namespace {
class GCRA : public MachineFunctionPass {

public:
static char id; // Pass Identification

GCRA() : MachineFunctionPass(id) {
}

bool runOnMachineFunction(MachineFunction &MFn) {
return false;
}

void getAnalysisUsage(AnalysisUsage &AU) const {
}
};

  char GCRA::id = 0;

}
  namespace llvm {
  FunctionPass *createGCRA() { return new GCRA(); }
  }

  static RegisterRegAlloc register_gcra("gc",
"graph-coloring register allocator",
createGCRA);

Please help!

Sincerely,
*Vivek Pandya*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160226/ad096564/attachment.html>


More information about the llvm-dev mailing list