Displaying 5 results from an estimated 5 matches for "czhengsz".
2019 Jan 15
3
Aggressive optimization opportunity
...ll need to inspect all of the pointers and prove to yourself it is safe and at that point you might as well add restrict manually.
-Troy
From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Finkel, Hal J. via llvm-dev
Sent: Tuesday, January 15, 2019 9:57 AM
To: Zheng CZ Chen <czhengsz at cn.ibm.com>; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] Aggressive optimization opportunity
On 1/15/19 6:07 AM, Zheng CZ Chen via llvm-dev wrote:
Hi,
There are some compilers with a aggressive optimization which restricts function pointer parameters. Let's say opt restrict_ar...
2018 Dec 18
2
should we do this time-consuming transform in InstCombine?
...an still do the following transform for the above
pattern:
%res2 = OP i32 %sub, %a ==> %res2 = sub i32 0, %res
Not sure whether we can do it in instCombine.
Thanks.
BRS//
Chen Zheng
Power Compiler Backend Developer
From: Roman Lebedev <lebedev.ri at gmail.com>
To: Zheng CZ Chen <czhengsz at cn.ibm.com>
Cc: llvm-dev at lists.llvm.org
Date: 2018/12/18 03:45 PM
Subject: Re: [llvm-dev] should we do this time-consuming transform in
InstCombine?
On Tue, Dec 18, 2018 at 10:18 AM Zheng CZ Chen via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Hi,
Hi.
>...
2018 Dec 07
2
Should intrinsics llvm.eh.sjlj.setjmp be with isBarrier flag?
Hi,
I meet an issue when I verify machineinstrs for Powerpc testcases in llvm.
llc -mtriple=powerpc64-unknown-linux-gnu <
llvm/llvm/test/CodeGen/PowerPC/sj-ctr-loop.ll -verify-machineinstrs
Bad machine code: MBB exits via unconditional fall-through but ends with a
barrier instruction! ***
function: main
basic block: %bb.2 for.body.lr.ph (0x100275437e8)
Content in block BB.2:
2019 Jan 15
4
Aggressive optimization opportunity
Hi,
There are some compilers with a aggressive optimization which restricts
function pointer parameters. Let's say opt restrict_args. When
restrict_args is turned on, compiler will treat all function pointer
parameters as restrict one.
int foo(int * a) + restrict_args opt
equals to:
int foo(int * restrict a)
Here is a complete example:
source code:
extern int num;
int foo(int * a)
{
2018 Dec 18
2
should we do this time-consuming transform in InstCombine?
Hi,
There is an opportunity in instCombine for following instruction pattern:
%mul = mul nsw i32 %b, %a
%cmp = icmp sgt i32 %mul, -1
%sub = sub i32 0, %a
%mul2 = mul nsw i32 %sub, %b
%cond = select i1 %cmp, i32 %mul, i32 %mul2
Source code for above pattern:
return (a*b) >=0 ? (a*b) : -a*b;
Currently, llvm(-O3) can not recognize this as abs(a*b).
I initially think we could do this in