similar to: [LLVMdev] How to handle global variables in LLVM analyses

Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] How to handle global variables in LLVM analyses"

2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Can you say what Benchmark or give a test case so we understand the nature of the regression? As Gerolf said, that will be important to understand what is best to do. On Fri, Jul 17, 2015, 06:43 Evgeny Astigeevich <Evgeny.Astigeevich at arm.com> wrote: > Yes, the regression is stable. I double checked this. A full benchmark > run consists of at least 10 sub-runs to validate the
2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Before the fix, the compiler may simply return 'noalias' for cases it can not really prove to be noalias, but actually correct by luck (or even wrong noalias, but does not result in miscompile). It would be useful to find out the set of missed noalias queries from GlobalModRef with your benchmark and examine if there is some improvement can be done. David On Fri, Jul 17, 2015 at 6:32
2015 Jul 17
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
On Fri, Jul 17, 2015 at 9:13 AM Evgeny Astigeevich < evgeny.astigeevich at arm.com> wrote: > It’s Dhrystone. > Dhrystone has historically not been a good indicator of real-world performance fluctuations, especially at this small of a shift. I'd like to see if we see any fluctuation on larger and more realistic application benchmarks. One advantage of the flag being set is that we
2015 Jul 15
2
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Hi Chandler, I would like to run some benchmarks on ARM hardware and to look at impact of your patches on LTO. Kind regards, Evgeny Astigeevich From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Chandler Carruth Sent: 15 July 2015 10:45 To: Chandler Carruth; Gerolf Hoflehner Cc: LLVM Developers Mailing List Subject: Re: [LLVMdev] GlobalsModRef
2015 Jul 21
6
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Based on function names and structures, this is some version of GCC :) Any way you can post the entire .ll file? Because it's globalsmodref, it's hard to debug without the other functions, since it goes over all the functions to determine address takenness, etc :) On Tue, Jul 21, 2015 at 3:23 PM, Michael Zolotukhin <mzolotukhin at apple.com> wrote: > Hi Chandler, > > We
2015 Jul 17
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Hey, thanks for benchmarking. How stable is the 2% regression? Michael ran some benchmarks with GlobalsModRef completely disabled and the only differences were in the noise. This was a complete spec2k6 run along with some others. Based on the number of benchmarks run there, I'm going to go ahead and submit these patches, but if you can clarify the impact here, we can look at potentially some
2015 Jul 14
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
On Mon, Jul 13, 2015 at 10:21 PM Chris Lattner <clattner at apple.com> wrote: > > > On Jul 13, 2015, at 8:19 PM, Chandler Carruth <chandlerc at gmail.com> > wrote: > > > > Ok folks, > > > > I wrote up the general high-level thoughts I have about stateful AA in a > separate thread. But we need to sort out the completely and horribly broken >
2015 Jul 15
3
[LLVMdev] GlobalsModRef (and thus LTO) is completely broken
Replying here, but several of the questions raised boil down to "couldn't you make the usage of GetUnderlyingObject conservatively correct?". I'll try and address that. I think this *is* the right approach, but I think it is very hard to do without effectively disabling this part of GlobalsModRef. That is, the easy ways are likely to fire very frequently IMO. The core idea is
2012 Jan 03
0
[LLVMdev] Comparison of Alias Analysis in LLVM
On Jan 3, 2012, at 1:53 PM, Jianzhou Zhao wrote: > I see. I asked the question because LLVM provides several alias > analysis, and I was wondering how to decide which one should be used > for compiling most programs. > > I think the basicaa is the default one, but by looking into its code, > it is not inter-procedural or context-sensitive (I am not 100% sure), > so does not
2005 Apr 25
5
[LLVMdev] "Best" alias analysis algorithm
Hello, I'm playing with alias analysis, using the following program: %i = external global int ; <int*> [#uses=2] implementation ; Functions: int %_Z3bari(int %p) { entry: %tmp.0 = load int* %i ; <int> [#uses=1] %tmp.1 = setgt int %tmp.0, 10 ; <bool> [#uses=1] br bool %tmp.1, label %then, label %UnifiedReturnBlock then:
2012 Jul 31
1
[LLVMdev] how to let memory dependency analysis use globalsmodref
Hi there, I am doing: opt -print-memdeps ./test.bc -analyze -globalsmodref-aa by adding globalsmodref-aa, I am hoping that globalsmodref alias analysis will be used. However, it does not turn out to be so. I found this out by adding some "errs() << " into the source code for that alias analysis. So my question is what should I do to let memory dependency analysis use
2008 Dec 15
0
[LLVMdev] How to get the total number of variables in a funciton?
Mingxing Tan wrote: > > Hi, all; > > How can I get the number of variables in a function/module (both the > number of variables in original source program and the number of > temporal variables for ssa-form)? > Do you want the SSA values *created* by a function, those used by a function, or both? For SSA values, simply iterate over all of the instructions within the
2015 Jul 13
2
[LLVMdev] enable globalsmodref-aa by default
Hello I am trying to enable globalsmodref-aa by default. globalmodref-aa is a ModulePass and therefore can be invalidated and need to be rerun. I see globalsmodref-aa is enabled in LTO passmanager by adding the analysis pass explicitly. I wonder whether globalsmodref-aa can be enabled/run based on pass dependencies, i.e. those indicated in getAnalysisUsage(). Thanks, Xin -------------- next
2003 Nov 06
2
[LLVMdev] Re: Alias Analysis Design & Implementation and LLVM
On Thu, 6 Nov 2003, Michelle Strout wrote: > I think some clarifications and examples would be helpful. No problem. :) > - LLVM is in SSA. It is in SSA before alias analysis has been > >>>> performed. With OA, it has been mentioned that the SSA generation > >>>> is > >>>> incorrect because it doesn't take alias analysis information into
2009 Jan 25
0
[LLVMdev] -O4 limitations in llvm/llvm-gcc-4.2 2.5?
Jack Howarth wrote: > I've had better luck compiling all of pymol 1.1r2 with > -O4 on darwin9. Everythink links and there appears to be > no regressions in the resulting code. I take it that LTO > in llvm 2.5 is still limited to dead code elimination, > correct? No. libLTO does the equivalent to opt -internalize -ipsccp -globalopt -constmerge -deadargelim -instcombine
2012 Aug 06
3
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
Hello, I wrote my own pass which needs to do some loop unrolling. I can perform loop unrolling via opt: opt -mem2reg -loops -loop-simplify -loop-rotate -lcssa -loop-unroll -unroll-count=50 mytest.bc -o mytest.bc This command works perfectly. However, what I really want is to produce the **same behavior** but from my own pass (i.e., I don't want to use opt). I wrote a Module pass which
2011 Jan 23
2
[LLVMdev] Undoing SSA and Phi instructions
Hi, I am emitting llvm bit code using llvm-gcc -c -emit-llvm -O0 -o test.bc test.c and then optimizing it with opt -O3 -print-module test.bc in order to obtain a dump of generated IR. The resulting code has Phi nodes and is perhaps in SSA form. I want to undo the SSA form while retaining all the other optimizations. Is mem2reg the right optimization to be added after -O3, i.e., opt -O3
2008 Dec 09
2
[LLVMdev] How to get the total number of variables in a funciton?
Hi, all; How can I get the number of variables in a function/module (both the number of variables in original source program and the number of temporal variables for ssa-form)? I’m dealing with some dataflow analysis problem and need the information of variables. Appreciate any help. Thanks. Star.Tan -------------- next part -------------- An HTML attachment was scrubbed... URL:
2007 Mar 28
1
[LLVMdev] Phi nodes
Hi Thanks for your answers so far. I am currently stumbling into new questions. Naive as i am, i thought that the llvm-bytecode is allways in SSA form. But this doesn't seem to be the case. At least there are no phi instructions embedded if the bytecode drops out of llvm-gcc? Looking into the archives this has been discussed before:
2015 Jul 14
5
[LLVMdev] RFC: A plan for stateful alias analysis in LLVM
# Front matter # First, I want to emphasize that this is not a short-term plan. This is a long-term plan. When I was looking at refactoring the existing Alias Analysis infrastructure in LLVM in ways that would break stateful AA, Hal Finkel asked me to figure out how things would work with the new pass manager and make sure that was sane. This plan assumes the new pass manager. There is nothing