[LLVMdev] Adding register allocator to LLVM
Fernando Magno Quintao Pereira
fernando at CS.UCLA.EDU
Sun Aug 20 11:13:52 PDT 2006
Dear Anton,
you can add your register allocator strait iin the
"lib/CodeGen/Passes.cpp", and then 're-make' it: "makellvm llc", on the
top of lib/CodeGen. It is faster than running make from LLVMOBJDIR. The
problem is that it only add to llc the changes on the lib/CodeGen
directory. If you change other parts, a make from LLVMOBJDIR will
synchronize it.
Try adding code like this to your Passes.cpp file:
//===---------------------------------------------------------------------===//
///
/// RegAlloc command line options.
///
//===---------------------------------------------------------------------===//
namespace {
cl::opt<RegisterRegAlloc::FunctionPassCtor, false,
RegisterPassParser<RegisterRegAlloc> >
RegAlloc("regalloc",
cl::init(&createChordalRegisterAllocator),
cl::desc("Register allocator to use: (default = chordal)"));
}
All the best,
Fernando
> Hi!
>
> I've did what Jim Laskey wrote but llc didn't reckognize my regalloc option.
>
> So I moved my allocator implementation into seperate folder within CodeGen
> and wrote separate makefile for it (like in "Writing an LLVM pass"
> tutorial). But when I run "make" from LLVMOBJDIR it doesn't enter the
> RegAlloc directory and when linking llc an error like
> "createGraphColoringRegAlloc not defined" occurs.
>
> What am I doing wrong? :)
More information about the llvm-dev
mailing list