[LLVMdev] PTX target for LLVM!

Justin Holewinski
2011-08-29T11:59:05Z

On Mon, Aug 29, 2011 at 7:43 AM, Adarsh HV <adarsh.hv99 at gmail.com>
wrote:

>
> Hi everyone,
> I downloaded the latest version of LLVM PTX backend from
> http://www.prog.uni-saarland.de/projects/anysl
>  and made the required changes to all the files mentioned in the README.
> But
> I get the following error when I compile it.
> llvm[3]: Compiling PTXBackend.cpp for Release build
> In file included from PTXBackend.h:70:0,
>                 from PTXBackend.cpp:36:
> PTXPasses.h: In constructor
>
>
‘PTXBackendInsertSpecialInstructions::PTXBackendInsertSpecialInstructions(std::map<const
> llvm::Value*, const llvm::Value*>&)’:
> PTXPasses.h:93:63: error: no matching function for call to
> ‘llvm::BasicBlockPass::BasicBlockPass(char*)’
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:321:12: note:
> candidates are: llvm::BasicBlockPass::BasicBlockPass(char&)
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:319:36: note:
> llvm::BasicBlockPass::BasicBlockPass(const llvm::BasicBlockPass&)
> PTXPasses.h: In constructor
> ‘PTXPolishBeforeCodegenPass::PTXPolishBeforeCodegenPass()’:
> PTXPasses.h:151:24: error: no matching function for call to
> ‘llvm::BasicBlockPass::BasicBlockPass(char*)’
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:321:12: note:
> candidates are: llvm::BasicBlockPass::BasicBlockPass(char&)
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:319:36: note:
> llvm::BasicBlockPass::BasicBlockPass(const llvm::BasicBlockPass&)
> PTXPasses.h: In constructor
>
>
‘PTXBackendNameAllUsedStructsAndMergeFunctions::PTXBackendNameAllUsedStructsAndMergeFunctions()’:
> PTXPasses.h:197:21: error: no matching function for call to
> ‘llvm::ModulePass::ModulePass(char*)’
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:235:12: note:
> candidates are: llvm::ModulePass::ModulePass(char&)
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:220:32: note:
> llvm::ModulePass::ModulePass(const llvm::ModulePass&)
> In file included from PTXBackend.cpp:36:0:
> PTXBackend.h: In constructor
> ‘PTXWriter::PTXWriter(llvm::formatted_raw_ostream&, std::map<const
> llvm::Value*, const llvm::Value*>&)’:
> PTXBackend.h:114:30: error: no matching function for call to
> ‘llvm::FunctionPass::FunctionPass(char*)’
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:280:12: note:
> candidates are: llvm::FunctionPass::FunctionPass(char&)
> /home/neelima/Documents/llvm-2.9/include/llvm/Pass.h:278:34: note:
> llvm::FunctionPass::FunctionPass(const llvm::FunctionPass&)
> PTXBackend.h: In member function ‘bool PTXWriter::isAddressExposed(const
> llvm::Value*) const’:
> PTXBackend.h:386:5: warning: no return statement in function returning
> non-void
> PTXBackend.h: In static member function ‘static bool
> PTXWriter::isInlinableInst(const llvm::Instruction&)’:
> PTXBackend.h:395:5: warning: no return statement in function returning
> non-void
> PTXBackend.h: In member function ‘std::string
> PTXWriter::getAddressSpace(const llvm::Value*)’:
> PTXBackend.h:556:40: error: ‘const class llvm::Value’ has no member named
> ‘getUnderlyingObject’
> PTXBackend.cpp: In member function ‘virtual bool
> PTXWriter::doInitialization(llvm::Module&)’:
> PTXBackend.cpp:432:29: error: no matching function for call to
> ‘llvm::MCContext::MCContext(const llvm::MCAsmInfo&)’
> /home/neelima/Documents/llvm-2.9/include/llvm/MC/MCContext.h:105:14: note:
> candidates are: llvm::MCContext::MCContext(const llvm::MCAsmInfo&,
const
> llvm::TargetAsmInfo*)
> /home/neelima/Documents/llvm-2.9/include/llvm/MC/MCContext.h:40:5: note:
> llvm::MCContext::MCContext(const llvm::MCContext&)
> PTXBackend.cpp: In member function ‘std::string
> PTXWriter::getOperandStr(const llvm::Value*)’:
> PTXBackend.cpp:379:1: warning: control reaches end of non-void function
> /bin/rm: cannot remove
>
>
`/home/neelima/Documents/llvm-2.9/lib/Target/PTXBackend/Release/PTXBackend.d.tmp':
> No such file or directory
> make[3]: ***
>
>
[/home/neelima/Documents/llvm-2.9/lib/Target/PTXBackend/Release/PTXBackend.o]
> Error 1
> make[3]: Leaving directory
> `/home/neelima/Documents/llvm-2.9/lib/Target/PTXBackend'
> make[2]: *** [PTXBackend/.makeall] Error 2
> make[2]: Leaving directory
`/home/neelima/Documents/llvm-2.9/lib/Target'
> make[1]: *** [Target/.makeall] Error 2
> make[1]: Leaving directory `/home/neelima/Documents/llvm-2.9/lib'
> make: *** [all] Error 1
>
>
> Sorry to post such a large piece of the debug info, but i am a beginner and
> do not know which part  will help in debugging it.
> Thank You:)
>

Looks like a version conflict between your local LLVM sources and the LLVM
version this was written against. I would ask them to give you a specific
LLVM revision number, then you can check out that specific version.

Also, depending on what you need, LLVM now has a built-in PTX back-end.
 It's not quite robust yet, but it is capable of compiling a wide range of
compute code.


>
> Helge Rhodin wrote:
> >
> > Hey everybody,
> >
> > good news for everyone interested in the PTX backend:
> > We decided to release the current source code under the GPL - you can
> > find the latest tarball here:
> >
> > http://www.prog.uni-saarland.de/projects/anysl
> >
> > You will find the README in the attachment, which should hopefully
> > answer a lot of questions concerning the implementation and the
current
> > status.
> >
> > If you have further questions, comments, or suggestions, feel free to
> > contact us directly or respond on the list.
> >
> > We would also like to know if there are any major obstacles to merging
> > the code into LLVM trunk (apart from coding standards  ;)  ).
> >
> > Best regards,
> > Helge Rhodin and Ralf Karrenberg
> >
> >
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/PTX-target-for-LLVM%21-tp28376690p32356202.html
> Sent from the LLVM - Dev mailing list archive at Nabble.com.
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>



--

Thanks,

Justin Holewinski
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20110829/162dc529/attachment.html>