similar to: [LLVMdev] Propagate clang attribute to IR

Displaying 20 results from an estimated 500 matches similar to: "[LLVMdev] Propagate clang attribute to IR"

2015 Mar 24
2
[LLVMdev] Propagate clang attribute to IR
> On 24 Mar 2015, at 14:55, Aaron Ballman <aaron at aaronballman.com> wrote: > > On Tue, Mar 24, 2015 at 9:48 AM, Rinaldini Julien > <julien.rinaldini at heig-vd.ch> wrote: >> Hi, >> >> I want to *tag* some functions with some *flags*. I was using annotate((“myFlag”)) and everything was working fine until I tried on ObjC method. It seems that clang just
2015 Mar 05
4
[LLVMdev] global variable
Hi all, I am newbie for llvm. I just create a global variable, there are some statements in my pass like: LoadInst* int64_64 = new LoadInst(pthreadPID, "", false, OptAplusOne); int64_64->setAlignment(8); int64_64->dump(); LoadInst* int32_65 = new LoadInst(gvar_int32_myFlag, "", false, OptAplusOne); int32_65->setAlignment(4);
2019 Jan 04
2
[RFC] Adding a -memeq-lib-function flag to allow the user to specify a memeq function.
Thanks for the suggestions Hal, So if I understand correctly, you're recommending we add a module flag <https://llvm.org/docs/LangRef.html#module-flags-metadata> to LLVM, something like: !llvm.module.flags = !{..., !123} !123 = !{i32 1, !"memeq_lib_function", !"user_memeq"} I've given it a try in the following patch: https://reviews.llvm.org/D56311 If this
2016 Oct 25
2
[Help] Add custom pragma
Hi, all. I want to give programmer ability to tell LLVM that certain region of code is expected to get specialized optimization. So, I'm trying to make custom pragma to mark certain region of code and pass this information to LLVM, in the similar way that '#pragma clang loop unroll_count(N)' works. By tracking the framework of loop unroll pragma, I found out it works in the way below.
2015 Jan 27
7
[LLVMdev] Embedding cpu and feature strings into IR and enabling switching subtarget on a per function basis
I've been investigating what is needed to ensure command line options are passed to the backend codegen passes during LTO and enable compiling different functions in a module with different command line options (see the links below for previous discussions). http://thread.gmane.org/gmane.comp.compilers.llvm.devel/78855 http://thread.gmane.org/gmane.comp.compilers.llvm.devel/80456 The command
2016 Oct 25
2
[Help] Add custom pragma
Yes. I checked that file, but I wasn't sure whether that is right one to look at. What is *.td extension btw? When I google it, it says this is for Windows Debug Simulator. Why clang use this extension, which is limited to Windows environment? On Tue, Oct 25, 2016 at 7:00 PM, Vedant Kumar <vsk at apple.com> wrote: > That file is generated by the clang-tblgen tool: > >
2016 Oct 25
0
[Help] Add custom pragma
> Yes. I checked that file, but I wasn't sure whether that is right one to look at. It seems promising. I imagine you'd want something like the LoopHint attr. > What is *.td extension btw? The llvm project uses that extension to identify TableGen inputs (http://llvm.org/docs/TableGen/). vedant > On Oct 25, 2016, at 4:12 PM, Sunghyun Park <sunggg at umich.edu> wrote:
2017 Mar 20
4
[RFC] Attribute overhaul 2
LLVM's Attribute APIs need an overhaul. Current problems ================ First, testing for an attribute on an Argument is slow. llvm::AttributeSet::getAttributes(int) consumed 2% of cycles while optimizing llc during LTO. Our mid-level optimizations are constantly asking if a given argument has some attribute (nonnull, dereferencable, etc), and this is currently linear in the size of the
2012 Apr 26
2
[LLVMdev] Detect if a basicblock is part of a loop
Hi, I'm trying to detect if a basicblock is part of a loop or not. I tried the llvm::LoopInfo like that (http://llvm.org/docs/doxygen/html/classllvm_1_1LoopInfo.html#a4abca289c73cd09487e05d11d9f7d877): LoopInfo *loop = new LoopInfo(); bool isLoop = loop->getLoopFor(myBB); // getLoopFor - Return the inner most loop that BB lives in. If a basic block is in no loop (for example the entry
2011 Aug 11
5
[LLVMdev] IR code modification/transformation
Hi, I have a question about the llvm passes. I'm iterating over a basicblock and I can get an instruction and print it. Now, I want to iterate over the instruction and be able to modify the values of the instruction. For example, if my instruction is an add "<result> = add i32 4, %var" I want to transform it in a sub "<result> = sub i32 4, %var". I looked up
2016 Sep 28
2
Xcode issues
On Wed, Sep 28, 2016 at 11:13:35AM -0700, Mehdi Amini wrote: > > > On Sep 28, 2016, at 11:00 AM, Rinaldini Julien via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > > > Hi, > > > > I’m using llvm+clang (+ a wrapper for swift that allow me to use my clang to compile swift files) inside Xcode and I have encountered two issues with the new clang 3.9 and
2012 May 08
2
[LLVMdev] RE : RE : svn trunk comilation error
> De : 陳韋任 [chenwj at iis.sinica.edu.tw] > Date d'envoi : mardi 8 mai 2012 11:37 > À : Rinaldini Julien > Cc: LLVM Developers Mailing List > Objet : Re: [LLVMdev] RE : svn trunk comilation error > > Hi Rinaldini, > > You probably need to illustrate what your enviroment is, what revision you > checkout and how you build LLVM. I have no problem build LLVM svn here.
2012 Apr 26
2
[LLVMdev] Detect if a basicblock is part of a loop
Hi Rinaldini, In order to find information about loops inside a given function you should use something like "LoopInfo *LI = P->getAnalysis<LoopInfo>()", remembering to add "AU.addRequired<LoopInfo>();" to your getAnalysisUsage method. If the function you are interested to is not located in the module being compiled (if you created it as an auxiliary function,
2012 Apr 26
0
[LLVMdev] Detect if a basicblock is part of a loop
Rinaldini, What exactly did you run? Specifically, you may be missing some analysis passes that are necessary for LoopInfo to have the loop information you desire. -Hal On Thu, 26 Apr 2012 14:02:04 +0000 Rinaldini Julien <julien.rinaldini at heig-vd.ch> wrote: > Hi, > > I'm trying to detect if a basicblock is part of a loop or not. > > I tried the llvm::LoopInfo
2012 May 09
0
[LLVMdev] RE : RE : RE : svn trunk comilation error
> De : 陳韋任 [chenwj at iis.sinica.edu.tw] > Date d'envoi : mardi 8 mai 2012 11:37 > À : Rinaldini Julien > Cc: LLVM Developers Mailing List > Objet : Re: [LLVMdev] RE : svn trunk comilation error > > Hi Rinaldini, > > You probably need to illustrate what your enviroment is, what revision you > checkout and how you build LLVM. I have no problem build LLVM svn here.
2012 May 08
2
[LLVMdev] RE : svn trunk comilation error
Hi, Sorry I did not precise that, but I'm already doing that... I have, as you say, two different director, one for source and one for build (where I run my configure)... Cheers ________________________________________ De : 陳韋任 [chenwj at iis.sinica.edu.tw] Date d'envoi : mardi 8 mai 2012 05:21 À : Rinaldini Julien Cc: LLVM Developers Mailing List Objet : Re: [LLVMdev] svn trunk
2014 Oct 29
2
[LLVMdev] Problem in X86 backend (again)
>> // Increment loop variable and jmp >> BuildMI(*MBB_erase, MBB_erase->end(), db, >> TII->get(X86::ADD64ri32),reg).addReg(reg).addImm(8); > > It looks like this instruction is defining virtual register "reg" the second time. Thx for your answer... Why would it define it again? I just want to use this register and add something to it... Cheers
2016 Sep 28
2
Xcode issues
Hi, I’m using llvm+clang (+ a wrapper for swift that allow me to use my clang to compile swift files) inside Xcode and I have encountered two issues with the new clang 3.9 and Xcode 8: 1) when compiling with the deployment target set to 10.0, I got this error: clang-3.9: error: invalid version number in '-miphoneos-version-min=10.0’. If I set back the deployment target to 9.3 it works fine.
2014 Mar 26
2
[LLVMdev] Linking problem
Hi, I'm writing a pass that implements a jump table with an array of blockaddress and an indirectbr instruction. It get a blockaddress in the array (via getelementptr and an index) and then jump to this basicblock via the indirectbr. I tried to compile several libraries to test my pass and the run their test-suite. It works fine with, for e.g, libTomCrypt (in -O0,1,2,3). With GMP or
2011 Aug 11
0
[LLVMdev] RE : IR code modification/transformation
Re-adding the list, below message was sent to me alone: On 11 August 2011 13:45, Rinaldini Julien <julien.rinaldini at heig-vd.ch> wrote: > Thx for all answers... > > I'll try that. But in a long term what I want to do will be a bit more complicated... It was just an example. In this case, the goal is to replace all add with sub that return the same result, like: > > var