Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] Basic Block API"
2009 May 23
0
[LLVMdev] Basic Block API
Rotem Varon wrote:
> Hi,
>
> Is there an API for getting (within a basic block pass) the number of basic block in the program ?
>
Not of which I am aware. You will probably need to write code that does
this for you.
One place to put the code would be in the doInitialization() method of
the BasicBlockPass that you're writing. However, I'm not sure if the
count would be
2009 May 23
1
[LLVMdev] Basic Block API
Hi,
Thank you for your answer.
But let me get it straight, when i compile code with the llvm compiler, and
my basic block pass is being processed, other passes are concurrently being
processed ?
Thanks.
On Sat, May 23, 2009 at 7:01 PM, John Criswell <criswell at cs.uiuc.edu> wrote:
> Rotem Varon wrote:
> > Hi,
> >
> > Is there an API for getting (within a basic block
2010 Apr 19
2
[LLVMdev] The "scope" of passes
ether zhhb wrote:
> hi John,
>
> sorry for reply so late.
>
> On Tue, Apr 13, 2010 at 10:38 PM, John Criswell <criswell at uiuc.edu
> <mailto:criswell at uiuc.edu>> wrote:
>
> Devang Patel wrote:
>
> On Mon, Apr 12, 2010 at 6:41 PM, ether zhhb
> <etherzhhb at gmail.com <mailto:etherzhhb at gmail.com>> wrote:
>
>
2010 Apr 10
3
[LLVMdev] The "scope" of passes
hi all,
i have some thing not so sure about "scope" of llvm passes:
suppose i have a function pass PassF and a BasicBlock analysis pass PassB.
if i want to use the analysis result of PassB for a BasicBlock in PassF, i
think i can create PassB in runOnFunction of PassF, and call runOnBasicBlock
manually to get the result:
PassB pb; //create a PassB
//we also need consider the analysis
2010 Apr 13
2
[LLVMdev] The "scope" of passes
Devang Patel wrote:
> On Mon, Apr 12, 2010 at 6:41 PM, ether zhhb <etherzhhb at gmail.com> wrote:
>
>
>> that's because FunctionPass implement the "addLowerLevelRequiredPass"
>> function, but others not.
>>
>> so, is there any special reason that only "addLowerLevelRequiredPass" is
>> allow?
>>
>>
>
>
2010 Apr 17
0
[LLVMdev] The "scope" of passes
hi John,
sorry for reply so late.
On Tue, Apr 13, 2010 at 10:38 PM, John Criswell <criswell at uiuc.edu> wrote:
> Devang Patel wrote:
>
>> On Mon, Apr 12, 2010 at 6:41 PM, ether zhhb <etherzhhb at gmail.com> wrote:
>>
>>
>>
>>> that's because FunctionPass implement the "addLowerLevelRequiredPass"
>>> function, but others
2010 Apr 27
5
[LLVMdev] PTX target for LLVM!
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,
2011 Aug 29
0
[LLVMdev] PTX target for LLVM!
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
2009 May 10
1
[LLVMdev] llvm to x86 IR conversion
Hi,
I believe that my question isn't clear. So, please let me rephrase :
I am running a basic block pass (and iterating through each instruction).
Is it possible to convert the basic block instruction form llvm IR to
x86 IRWITHIN the path ?
I mean: is LLVM API exists for this purpose ?
Again, thanks.
On Sun, May 10, 2009 at 10:30 PM, me22 <me22.ca at gmail.com> wrote:
> On Sun,
2006 Jul 14
4
[LLVMdev] LLVM bytecode simulator/emulator?
Chris Lattner wrote:
> On Thu, 13 Jul 2006, Kenneth Hoste wrote:
>> After browsing through the docs, at a first glance I think I should
>> write a plugin for the 'analyze' tool. I think
>> http://llvm.org/docs/WritingAnLLVMPass.html is where I should start from.
>> The only problem I see now is that there doesn't seem to be a way to
>> get
2008 Jul 17
2
[LLVMdev] Pass Added as Required fails assert
Hey all,
We have been working on a pass that uses another pass to count loads and
stores prior to performing its own instrumentation. The second pass adds
the first as required via the usual getAnalysisUsage function. On one
machine, it has been tested and proven to function correctly. On another
machine, whenever the second pass is run, it consistently fails the
assertion:
opt:
2006 Jan 10
3
[LLVMdev] passmanager, significant rework idea...
The patch below basically hammers out some ideas as to where I'd like
to take the passmanager in LLVM. I've tried thinking things through,
but I'm still a n00b, so some criticism would be more than welcome. =)
Starting from line 191 down. If you're wondering why I created a
patch, well that's because I found thinking in passmanagert.h the most
productive.
--
Regards.
2012 Apr 04
2
[LLVMdev] Fwd: [Review Request][PATCH] Add the function "vectorizeBasicBlock"
Hi Hal,
I add a function named "vectorizeBasicBlock" which allow users to
perform basic block vectoirzation inside their pass. But i am not sure
whether i missed something as no one use the function right now (But
it will be used by Polly sometimes later[1]).
In addition, we (tobi and me) also want to make the vectorizer being
configured command line flags. To achieve this, we are
2008 Mar 07
2
[LLVMdev] Pass::runPass?
The virtual function Pass::runPass is a little deceptive; a pass that
isn't a ModulePass can be run on a Module when run from a
PassManager, but calling runPass(Module *) with the same pass
does nothing. Also, runPass doesn't appear to be used anywhere.
Can someone explain what runPass is for?
Thanks,
Dan
2012 Apr 04
0
[LLVMdev] [Review Request][PATCH] Add the function "vectorizeBasicBlock"
Ether,
Sounds great! Please keep in mind that, eventually, we'll also want to
configure those options from TLI (or something similar). The patch
looks good to me.
-Hal
On Wed, 4 Apr 2012 23:54:18 +0800
Hongbin Zheng <etherzhhb at gmail.com> wrote:
> Hi Hal,
>
> I add a function named "vectorizeBasicBlock" which allow users to
> perform basic block
2006 Jan 10
0
[LLVMdev] passmanager, significant rework idea...
On Mon, 9 Jan 2006, Saem Ghani wrote:
> The patch below basically hammers out some ideas as to where I'd like
> to take the passmanager in LLVM. I've tried thinking things through,
> but I'm still a n00b, so some criticism would be more than welcome. =)
>
> Starting from line 191 down. If you're wondering why I created a
> patch, well that's because I found
2016 May 10
2
Some questions about phase ordering in OPT and LLC
> >> You can look at AddOptimizationPasses() in opt.cpp.
> >
> > As far as I understand, the two passmanager do not interleave their
> > passes. It first runs all the function passes and below. Then all the
> > module passes. So if you specify:
> >
> > opt -mymodulepass0 -myfunctionpass -mymodulepass1
> >
> > What you actually get is:
2010 Aug 11
4
[LLVMdev] Optimization pass questions
I have a whole slew of questions about optimization passes. Answers to any or all would be extremely helpful:
How important are doInitialization/doFinalization? I can't detect any difference if I use them or not. Why does the function pass manager have doInitialization/doFinalization, but the global pass manager doesn't? If I am applying the function passes to many functions, do I
2006 May 30
3
[LLVMdev] Adding an object to llc (analysis pass)
Hi
> One would expect this, its a facility of the C++ language. The anonymous
> namespace is, essentially, the same as declaring everything in it
> static. That is, the symbols are not exported and not available for
> linking.
Yes, it was pretty clear after finding out that this isn't a linking error
which i suspected...
> > So for all those trying to add an analysis path:
2007 Jun 21
2
[LLVMdev] PassManager vs FunctionPassManager
Right now, addPassesToEmitFile requires a FunctionPassManager. If I'm
working with code that uses a plain PassManager and want it to generate
code, are there any options better than doing this:
/**
* Wrapper class to run a FunctionPassManager as a ModulePass so that it
* can be added to a plain PassManager.
*/
class FunctionPassManagerModulePass : public ModulePass {
FunctionPassManager