Displaying 20 results from an estimated 2000 matches similar to: "how LLVM deals with 'undef'"
2015 Aug 22
2
loop unrolling introduces conditional branch
Hi,
I just tried llvm-3.8 (LLVM SVN Repository). With this version, -fno-rtti
can help me to compile my code and -irce can help me to do a better job for
loop unrolling. However, I still have one question. If I use Clang to
compile a piece of c++ code to .bc and then use 'opt -loop-rotate
-loop-unroll -irce', I can get what I want. I mean, there is no conditional
branch at the end of each
2015 Aug 22
2
loop unrolling introduces conditional branch
Thanks for your point that out. I just add DataLayout in my code such as
"mod->setDataLayout("e-m:e-i64:64-f80:128-n8:16:32:64-S128");", still no
luck.
I'm really confused about this. Do I need to add more passes before
-loop-unroll?
On Sat, Aug 22, 2015 at 11:36 AM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> On Aug 22, 2015, at 7:27 AM, Xiangyang
2015 Aug 22
3
loop unrolling introduces conditional branch
Hi, Mehdi,
For example, I have this very simple source code:
void foo( int n, int array_x[])
{
for (int i=0; i < n; i++)
array_x[i] = i;
}
After I use "clang -emit-llvm -o bc_from_clang.bc -c try.cc", I get
bc_from_clang.bc. With my code (using LLVM IRbuilder API), I get
bc_from_api.bc. Attachment please find thse two files. I also past the IR
here.
2015 Aug 21
2
loop unrolling introduces conditional branch
There's been some recent noise on the mailing list about requiring
-fno-rtti;
http://lists.llvm.org/pipermail/llvm-dev/2015-August/089010.html
Could that be it?
On Sat, Aug 22, 2015 at 12:21 AM, Xiangyang Guo via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Hi, James and Philip, Thanks for your help.
>
> Based on your advice, I downloaded llvm-3.7. However, with this new
2015 Aug 20
2
loop unrolling introduces conditional branch
Hi Xiangyang,
The algorithm for loop unrolling was changed post-3.5 to do more what you'd
expect. If you use 3.6 or 3.7 you'll likely get better results.
Cheers,
James
On Thu, 20 Aug 2015 at 18:09 Philip Reames via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> On 08/20/2015 07:38 AM, Xiangyang Guo via llvm-dev wrote:
>
> Hi,
>
> I want to use loop unrolling
2015 Aug 20
2
loop unrolling introduces conditional branch
Hi,
I want to use loop unrolling pass, however, I find that loop unrolling will
introduces conditional branch at end of every "unrolled" part. For example,
consider the following code
*void foo( int n, int array_x[])*
*{*
* for (int i=0; i < n; i++)*
* array_x[i] = i; *
*}*
Then I use this command "opt-3.5 try.bc -mem2reg -loops -loop-simplify
-loop-rotate -lcssa
2015 Dec 01
2
LICM doesn't work for IntrReadMem intrinsic function
Thanks for your reply, escha,
Yes, -loop-rorate makes it work.
Regards,
Xiangyang
2015-12-01 12:48 GMT-05:00 <escha at apple.com>:
>
> > On Dec 1, 2015, at 9:30 AM, Xiangyang Guo via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > Hi, All,
> >
> > Suppose I define one memory read only intrinsic function "foo" in
>
2015 Dec 01
2
LICM doesn't work for IntrReadMem intrinsic function
Hi, All,
Suppose I define one memory read only intrinsic function "foo" in
Intrinsics.td like this
def int_foo : Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty],
[IntrReadMem]>;
Suppose I have the following IR, which means the intrinsic function "foo"
is called 10 times in a loop. Since the parameters of function "foo" are
invariant and the function
2017 Feb 22
2
[Job Ad] Compiler Engineer positions at Intel
Hi, All,
Our team within the Software and Services Group at Intel is looking for
compiler engineers to join us. Currently two positions are available, see
attached links. If you are interested, you can apply online or email me at
xiangyang.guo at intel.com.
Thanks.
--Xiangyang (Mark) Guo
2015 Apr 24
2
[LLVMdev] convert LLVM IR to another IR without SSA
Hi, Diego,
Thanks for your quick reply. Inserting a copy instruction may not work here
because I have a limitation of virtual register number. I need to assign
registers with ssa form to registers without ssa form. I will look the
source code you point out.
Thanks
Xiangyang
On Fri, Apr 24, 2015 at 4:19 PM, Diego Novillo <dnovillo at google.com> wrote:
>
>
> On Fri, Apr 24, 2015
2015 Dec 02
4
lower 64 bits constant
Hi, All,
I want to lower 64 Bits constant such as 'long' and 'double'. So I define
them like this:
def CONSTI64 : InstFOO<(outs GRWideRegs:$dst),
(ins i64imm:$src),
"const-long $dst, $src",
[(set (i64 GRWideRegs:$dst), imm:$src)]>{
let isMoveImm = 1;
}
def CONSTF64 : InstFOO<(outs
2016 Mar 24
4
attribute of intrinsic function
Hi,
When I define an intrinsic function with memory write permission, my
assumption is that we can either attach [IntrReadWriteArgMem] or [] to the
intrinsic function. Based on the comment of the source code ,
"IntrReadWriteArgMem - This intrinsic reads and writes only from memory
that one of its arguments points to, but may access an unspecified amount."
"If no property is set,
2015 Dec 01
3
LICM doesn't work for IntrReadMem intrinsic function
On 1 December 2015 at 12:33, Xiangyang Guo via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> if I have the following IR, LICM doesn't work again, even if I use
> '-loop-rotate' firstly. In this IR, the return value of intrinsic function
> "foo" is used by another function "func2" as parameter. However, for the
> intrinsic function
2002 Sep 23
4
How do I change plot colors in bwplot
Hello,
I'm using bwplot to make a few plots. The plots are exactly what I
need, but are coming out with a grey background and turquoise boxes and
whiskers. I cannot figure out how to just get black and white to be
the default. Can anyone help me with this?
Thanks
Kenneth E. Nussear Phone 775 784-1703
Ecology, Evolution and FAX 775 784-1369
2016 Feb 03
2
TableGen register class
Hi,
Assume I define registers R0...R15 and two register classes RegA and RegB.
RegA contains R0 to R7 while RegB contains R0 to R15.
Then I check the machine instruction, it seems that in some cases, the
%vreg0 belongs to RegB; in other cases %vreg1 belongs to RegA_RegB. Can you
tell me how TableGen decides which is which? At first, I guess &verg0 will
be assigned by R8 to R15 only so that
2015 Apr 19
2
[LLVMdev] remove redundant load by GVN() does not work
Hi,
Assume I have the following code. The first four instructions in each BB
does the same thing. So I think GVN() can remove the redundant code.
However, after I apply GVN to my module by "Passes.add(createGVNPass())"
and "Passes.run(*myModule)". It seems GVN does not remove the redundant
instructions. Can anyone give me a hint what's going on here? Any hint is
2016 Mar 25
1
attribute of intrinsic function
Thanks for your reply, Philip.
You are right, when I use LLVM-3.8, the 'argmemonly' shows up. Previously,
I use LLVM-3.7.
I think idempotent is what I want. Can you tell me how to add idempotent
attribute to the function? Thanks.
Regards,
Xiangyang
2016-03-24 14:30 GMT-07:00 Philip Reames <listmail at philipreames.com>:
>
>
> On 03/24/2016 12:45 PM, Xiangyang Guo via
2002 Jul 04
4
Chroot patch (v3.4p1)
The following is a patch I've been working on to support a "ChrootUser"
option in the sshd_config file.
I was looking for a way to offer sftp access and at the same time restict
interactive shell access. This patch is a necessary first step (IMO).
It applies clean with 'patch -l'.
Also attached is a shell script that helps to build a chrooted home dir on
a RedHat 7.2
2015 Apr 24
2
[LLVMdev] convert LLVM IR to another IR without SSA
Hi,
I want to convert LLVM IR to another type of IR, which has no SSA form. So
the most important thing I need to handle is Phi node and register
allocation because another type of IR has a limitation of virtual register
number. The first thing I can think about is to learn how LLVM Backend
works because LLVM Backend handles these things. But I'm not familiar with
Backend. After reading some
2003 May 13
2
Barchart to make a graph like this??
Hi list,
I'm trying to get R to make a graph like the one shown in this pdf, where
males are white bars and females are black bars.
http://www.brrc.unr.edu/~knussear/mmgraph.pdf
I tried barchart, but I couldnt get the bars to share a common x axis.
Do you have any suggestions?
Thanks for your help
Ken