search for: czhengsz

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