[LLVMdev] How do I get MachineFunctions?
    John Criswell 
    jtcriswel at gmail.com
       
    Thu Oct 16 06:17:09 PDT 2014
    
    
  
Dear Vanderson,
You need to write a MachineFunctionPass instead of a ModulePass or 
FunctionPass.  A MachineFunctionPass is given a MachineFunction to 
analyze/transform in its runOnFunction() method.
MachineFunctionPass'es are run by llc and other LLVM-based tools that 
generate native code (such as the libLTO plugin and Clang).
Regards,
John Criswell
On 10/14/14, 4:52 PM, Vanderson Martins do Rosario wrote:
> Hi everybody,
>
> I know that this may be a very silly question, but seriously, I'm 
> totally lost.
>
> So, what I want to know is how from my Module I can get 
> MachineFunctions or MachineBasicBlocks.
>
> I'm able to read a file with LLVM IR, create the Module and I also 
> managed to create some passes for it, but what I want is to see the 
> x86-64 assembly that this IR generates and map MachineBasicBlocks with 
> BasicBlocks.
>
> I know that I should follow the Instruction Selection steps from 
> http://llvm.org/docs/CodeGenerator.html#using-the-machineinstrbuilder-h-functions, 
> but I couldn't figure it out how to do this. I also tried to read the 
> llc's code, but it didn't help me so much.
>
> I would be grateful if somebody show me an example of how from a 
> Module I can get MachineBasicBlocks.
>
> Thank you,
>
> Vanderson M. Rosario
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-- 
John Criswell
Assistant Professor
Department of Computer Science, University of Rochester
http://www.cs.rochester.edu/u/criswell
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20141016/bc25e912/attachment.html>
    
    
More information about the llvm-dev
mailing list