similar to: [LLVMdev] sccp pass with opt

Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] sccp pass with opt"

2013 Apr 16
0
[LLVMdev] sccp pass with opt
This compiler does not have mem-SSA, as far as I know, only few pass can propagate value along memory. You need to promote those local variable into register first before sccp is invoked. e.g1. opt a.ll -basicaa -gvn -sccp -S eg.2. opt a.ll -sroa -sccp -S On 4/16/13 12:37 PM, Niko Zarzani wrote: > Hi all, > > I am trying to see how single llvm optimizations work by running them
2012 Oct 23
3
[LLVMdev] precondition suggestion to LLVM
Thank you, it was what I really was searching for :) However, I don't know if I well understood. I've find this link in the second link which seemed what i was looking for: http://nondot.org/sabre/LLVMNotes/BuiltinUnreachable.txt .If I put around the code block (inside my function with precondition (x>0 && y>0)) a contruct like that that use __builtin_unreachable: int foo(int
2012 Oct 23
0
[LLVMdev] precondition suggestion to LLVM
On Mon, Oct 22, 2012 at 9:33 PM, Niko Zarzani <koni10 at hotmail.it> wrote: > Thank you, it was what I really was searching for :) > > However, I don't know if I well understood. I've find this link in the > second link which seemed what i was looking for: > http://nondot.org/sabre/LLVMNotes/BuiltinUnreachable.txt . > If I put around the code block (inside my
2012 Oct 22
5
[LLVMdev] precondition suggestion to LLVM
Hi all,Is there any way to tell LLVM some additional information about the variables in the code in order to make better optimization?For example, if my function has a certain precondition (such as x>0) then it will be possible to better optimize the code given that information (which the compiler does not know).I am new in this field and I don't know if there are ways to tell the compiler
2013 Oct 06
3
[LLVMdev] Pass sequence
Hi all, I wrote 2 passes and I want to make run llvm run the passes in this order: -mem2reg -load=…/mypass1.dylib -mypass1 -load=…/mypass2.dylib -mypass2 -O1 -O2 -O3 I know I can do this by manually passing them as an argument to opt. Is there any way to force this sequence directly from clang? I am asking this because I am trying to compile a program and I can specify in the ./configure
2012 Oct 23
0
[LLVMdev] precondition suggestion to LLVM
Hi Niko, Do you mean branch prediction, i.e. __builtin_expect [1]? Many compilers support it, I think clang (LLVM's C/C++ frontend) is among them. - D. [1] http://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html 2012/10/23 Niko Zarzani <koni10 at hotmail.it>: > Hi all, > Is there any way to tell LLVM some additional information about the > variables in the code in order to
2013 Sep 12
1
[LLVMdev] (no subject)
I tried it on a simple file test.c (as you did) but actually clang does not show me any output. In addition I tried to set the CFLAGS specifying the -mllvm -time-passes options. However I still have anything about the time passes informations in the output and I also get this warning during the build with make:clang: warning: argument unused during compilation: '-mllvm -time-passes'Maybe
2012 Oct 23
0
[LLVMdev] precondition suggestion to LLVM
You may want to check this out: http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-October/053924.html and also http://llvm.org/PR810 - xi On 10/22/12 6:05 PM, Niko Zarzani wrote: > Hi all, > Is there any way to tell LLVM some additional information about the > variables in the code in order to make better optimization? > For example, if my function has a certain precondition (such
2013 Sep 12
2
[LLVMdev] (no subject)
Hi all, I was interested in knowing which of the passes spends the most of the time compiling the dns server BIND.With the -CC option I selected clang as my compiler and, as I was expecting, the compilation gave me no problems.Now I have a question, is there any way to set an option similiar to "-time-passes" to clang in order to get those information I was interested in?Or do you think
2013 Sep 12
0
[LLVMdev] (no subject)
To use options like "-time-passes" and "-stats" you need to prefix them with "-mllvm": clang -mllvm -time-passes -O3 test.c -o /dev/null Note that I believe you need asserts enabled or some other build configuration for this to work, the timing code is disabled in fully release builds IIRC. Hope this helps! ~Will On Thu, Sep 12, 2013 at 11:50 AM, Niko Zarzani
2013 Nov 22
1
[LLVMdev] LLVM Passes WebPage
Why in the webpage http://llvm.org/docs/Passes.html some of the passes such as "correlated value propagation" or "early cse" are not described? Am I missing some other webpage with these informations? Thank you in advance, Niko -------------- next part -------------- An HTML attachment was scrubbed... URL:
2013 Oct 07
0
[LLVMdev] Pass sequence
On Oct 5, 2013, at 9:17 PM, Niko Zarzani <koni10 at hotmail.it> wrote: > Hi all, > > I wrote 2 passes and I want to make run llvm run the passes in this order: > -mem2reg -load=…/mypass1.dylib -mypass1 -load=…/mypass2.dylib -mypass2 -O1 -O2 -O3 > > I know I can do this by manually passing them as an argument to opt. > > Is there any way to force this sequence
2013 Feb 11
2
[LLVMdev] metadata as function arguments
> > I have written them by hand in the .s file in the same way of the IR > > reference (http://llvm.org/docs/LangRef.html#named-metadata) : > > > > define i32 @function(i32 %argInt, metadata !3) nounwind { > > This seems wrong. "metadata" is a type (like i32), and the exclamation > mark is only used to refer to metadata nodes, not to declare functions
2013 Feb 11
2
[LLVMdev] metadata as function arguments
Hi, I am trying to write a Pass that reads metadata passed as a argument to a function. I have written them by hand in the .s file in the same way of the IR reference (http://llvm.org/docs/LangRef.html#named-metadata) : define i32 @function(i32 %argInt, metadata !3) nounwind {entry: %argInt.addr = alloca i32, align 4 store i32 %argInt, i32* %argInt.addr, align 4 %1 = load i32* %argInt.addr,
2013 Apr 01
1
[LLVMdev] code gen variable mapping
Since variables in the source code are renamed in the IR, I wanted to ask you how and where this mapping is done in Clang.I am interested in converting the variable names in some C strings to the one in the IR.For example if at a certain point of the program I have a string like "x>0" I want to change it in "%x>0" (I already implemented a parser to recognize the
2006 May 10
2
[LLVMdev] SCCP
Chris Lattner wrote: > On Tue, 9 May 2006, Nick Lewycky wrote: > >>> You could do that, but SCCPSolver isn't really useful to mainline LLVM >>> for anything other than SCCP and IPSCCP, so we don't need it in a public >>> header. Out of curiosity, what are you looking to use the latice values >>> for? Why not just run SCCP and then look at the
2013 Jan 29
1
[LLVMdev] llvm passes under xcode
Hi, I am interested in developing some passes using the Xcode IDE. I create a pass directory with a simple pass in it, add it to the lib/Trasform/ directory, changed and added some CMakeList.txt files and compiled using cmake (cmake -G Xcode). The compilation gives me no errors but then I've found that I have not a Debug+Asserts folder and opt has no option related to my pass...what can I do
2006 May 10
0
[LLVMdev] SCCP
On Wed, 10 May 2006, Nick Lewycky wrote: >> Then just run the SCCP pass, and check to see if any operands satisfy >> the predicate "isa<UndefValue>(V)". LLVM explicitly represents >> undefined values. > > I have a case where it doesn't, but perhaps the SCCP pass isn't to blame: > > extern void write_char(int); > > const char foo[4] =
2016 Dec 30
5
SCCP is not always correct in presence of undef (+ proposed fix)
Hi. I'm sending this email to -dev as this may be of interest of many/people may have opinions/want to try the change before it goes in to report problems. I've been recently working on a patch to integrate `undef` in the SCCP solver, in the hope of fixing a tail of latent bugs in SCCP which remained uncovered for many years. I think this is a decent time to propose, so that it can
2016 Dec 31
0
SCCP is not always correct in presence of undef (+ proposed fix)
Hi David, Looking at the original bug, it seems like a straightforward undef-propagation bug to me -- SCCP was folding "or undef, constant" to "undef", which is wrong. Why is changing that not the fix? That is, some variant of diff --git a/lib/Transforms/Scalar/SCCP.cpp b/lib/Transforms/Scalar/SCCP.cpp index 8a6be97..45f1241 100644 --- a/lib/Transforms/Scalar/SCCP.cpp +++