Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] addRequired(), Loop Unrolling"
2004 Nov 19
1
[LLVMdev] Loop unroll : approximate loop size for loops with debug info?
Hi, just a quick question about the intent of the
ApproximateLoopSize() function in LoopUnroll.cpp:
If a loop contains debug stoppoint intrinsics, does it make sense to count them?
My understanding is that they are removed when not running under
llvm-db anyway, so we probably shouldn't make size judgements based on
them. Is that right, or am I missing something?
Anyway, if I'm right,
2009 May 08
2
[LLVMdev] Some questions on the output formats of AliasSetTracker
Dear Staff,
Here are some questions on the output formats of AliasSetTracker.
The code is as below:
int G1 = 9;
int G2 = 5;
int main() {
int * XX;
int * YY;
XX = &G1;
YY = XX;
YY = &G2;
XX = &G2;
}
The output for -anders-aa is:
Alias Set Tracker: 5 alias sets for 4 pointer values.
AliasSet[0xea6fb0,0] may alias, Mod/Ref
10 Call Sites: void ({ }*)*
2014 Jan 15
2
[LLVMdev] Loop unrolling a function
The loop rotation pass does modify the function, which I'm guessing means
that a FunctionPassManager can be used to run LoopPasses (this is not
obvious to me after looking through the FunctionPassManager code).
Unfortunately none of the other passes I'm using (ScalarEvolution, LCSSA,
IndVarSimplify, and LoopUnroll) appear to have an effect.
I verified that the function can be loop
2009 May 08
0
[LLVMdev] Some questions on the output formats of AliasSetTracker
On Thu, May 7, 2009 at 5:07 PM, <hc2428 at columbia.edu> wrote:
> However, I am a little confused with these output. In Both anders-aa
> and steens-aa, XX and YY should stay in the same AliasSet, and their
> alias relationship should be May Alias, right?
%XX and %YY are the results of alloca instructions (i.e. equivalent to
the C expressions "&XX" and
2009 May 08
1
[LLVMdev] Some questions on the output formats of AliasSetTracker
Quoting Eli Friedman <eli.friedman at gmail.com>:
Dear Eli,
Thanks very much for your reply. I have modified the XX and YY to
be global variables, but the output of AliasSetTracker are still MUST
alias:
Alias Set Tracker: 5 alias sets for 4 pointer values.
AliasSet[0xea55d0,0] may alias, Mod/Ref
8 Call Sites: void ({ }*)* @llvm.dbg.func.start, void (i32, i32,
{ }*)*
2014 Jan 15
3
[LLVMdev] Loop unrolling a function
Hi all,
I'm attempting to perform loop unrolling on a single function using the C++
API. Maybe I missed something in the docs, but I cannot figure out a way to
do this. The function I'm working with is very simple, containing a single
for loop and not much else. I compiled the function to IR using clang with
no optimizations enabled.
My initial plan was to first run the IndVarSimplify
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
2012 Aug 06
0
[LLVMdev] How to call some transformation passes (LoopRotate and LoopUnroll) from my own pass
On Aug 6, 2012, at 6:04 AM, Jorge Navas <navas at comp.nus.edu.sg> wrote:
>
> 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.
>
>
2013 Apr 03
1
[LLVMdev] YSU_Student
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
2008 May 09
0
[LLVMdev] [PATCH] Split LoopUnroll pass into mechanism and policy
Hi All,
the attached patch performs the splitting in the proposed manner.
before applying the patch, please execute
svn cp lib/Transforms/Scalar/LoopUnroll.cpp lib/Transforms/Utils/UnrollLoop.cpp
to make the patch apply and preserve proper history.
Transforms/Utils/UnrollLoop.cpp contains the unrollLoop function, which is now
used by the LoopUnroll pass. I've also moved the
2005 Sep 16
2
[LLVMdev] Problems Cross Compiling for x86 and ia64
Hi, I'm having some problems cross-compiling from ppc (OS X) to x86
object files and to ia64, at all. I'd appreciate some advice as to
whether or not I'm actually supposed to be able to do this, and what's
wrong if so.
Here's how I configured it:
../llvm-darcslocal/llvm/configure --with-llvmgccdir=$LLVMGCCDIR
--prefix=$HOME/Documents/hpcl/LLVM/install
The results work fine
2005 Sep 17
0
[LLVMdev] Re: Problems Cross Compiling for x86 and ia64
OK, I noticed a few problems with my previous email, so I will boil
the question down:
What I want to do is compile for x86 and ia64 from darwin.
I also want to load my own passes into opt and llc.
Should I be using llvmc at all here, or should I be doing something
like llvmgcc -> gccas -> opt -> llc ?
I've given up on the filetype=obj argument, so now the problem is that
llc is
2014 Jan 21
5
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
On 16/01/2014, 23:47 , Andrew Trick wrote:
>
> On Jan 15, 2014, at 4:13 PM, Diego Novillo <dnovillo at google.com
> <mailto:dnovillo at google.com>> wrote:
>
>> Chandler also pointed me at the vectorizer, which has its own
>> unroller. However, the vectorizer only unrolls enough to serve the
>> target, it's not as general as the runtime-triggered
2009 Jun 06
0
[LLVMdev] Can llvm-2.5 work with "-O1 -g"?
Dear staff,
I need to get the line number and file name information of the
source code for each instruction in *.bc file. I find that llvm-2.4
can not support "-O1 -g", which means if we are at O1 to O3
optimization level, we can not get any dbg.stoppoint inserted into the
LLVM IR.
However, our project requires us to get the line number and file
name information of
2008 Feb 05
0
[LLVMdev] 2.2 Prerelease (version 2) available for testing
I've done some minimal testing on FreeBSD 8.x i386. When running make
check I get:
# of expected passes 2188
# of unexpected failures 1
# of expected failures 6
The error output is:
Running
/usr/cvsports/devel/llvm/work/llvm-2.2/test/Transforms/LoopUnroll/dg.exp ...
FAIL: /usr/cvsports/devel/llvm/work/llvm-2.2/test/Transforms/LoopUnroll/2007-11-05-Crash.ll for
2009 May 19
1
[LLVMdev] How to get line number and source file name for IR?
Dear Staff,
I am asking this question: given a line of IR code in *.ll file,
how can I know the corresponding line number and C/C++ source file
name for this IR code?
I am investigating some code patterns with LLVM IR, I need to
know where this IR code come from (the line number in a source file
name).
An existing way is using -g option to compile my software, then I
can
2014 Jan 16
11
[LLVMdev] Loop unrolling opportunity in SPEC's libquantum with profile info
I am starting to use the sample profiler to analyze new performance
opportunities. The loop unroller has popped up in several of the
benchmarks I'm running. In particular, libquantum. There is a ~12%
opportunity when the runtime unroller is triggered.
This helps functions like quantum_sigma_x
(http://sourcecodebrowser.com/libquantum/0.2.4/gates_8c_source.html#l00149).
The function accounts
2017 Jan 18
2
llvm is getting slower, January edition
On 1/18/17 3:55 PM, Davide Italiano via llvm-dev wrote:
> On Tue, Jan 17, 2017 at 6:02 PM, Mikhail Zolotukhin
> <mzolotukhin at apple.com> wrote:
>> Hi,
>>
>> Continuing recent efforts in understanding compile time slowdowns, I looked at some historical data: I picked one test and tried to pin-point commits that affected its compile-time. The data I have is not 100%
2017 Jan 20
2
llvm is getting slower, January edition
Ah but how did you compile the clang-4.0 you were using? Does it run faster
if you compile it with clang-4.0? :)
On Fri, Jan 20, 2017 at 4:09 AM, Mehdi Amini via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi,
>
> On this topic, I just tried to build ToT with clang-3.9.1 and clang-4.0
> and the total time to complete `ninja clang` on this machine went from
> 12m54s to
2008 May 07
8
[LLVMdev] [PATCH] Split LoopUnroll pass into mechanism and policy
Hello Matthijs,
Separating mechanism from policy is a good thing for the LoopUnroll
pass. Instead of moving the policy to a subclass though, I think it'd
be better to move the mechanism, the unrollLoop function, out to be a
standalone utility function, with the LoopInfo object passed in
explicitly. FoldBlockIntoPredecessor would also be good to make into
a standalone utility function, since