[llvm-dev] Store unswitch (original) (raw)
Hongbin Zheng via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 26 00:19:06 PDT 2017
- Previous message: [llvm-dev] Store unswitch
- Next message: [llvm-dev] Store unswitch
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Looks like this do not work:
// Type your code here, or load an example. int a[10];
void unswitch2(int i, int x, int y0, int y1) { if (x) { a[i] = y0; a[i + 1] = y1; } else { a[i + 1] = y0; a[i] = y1; } }
On Tue, Apr 25, 2017 at 10:22 PM, Hongbin Zheng <etherzhhb at gmail.com> wrote:
Thanks,
Looks like inst combine do the job On Tue, Apr 25, 2017 at 9:36 PM, Davide Italiano <davide at freebsd.org> wrote:
On Tue, Apr 25, 2017 at 9:24 PM, Hongbin Zheng via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Hi, > > Is there a pass in LLVM that can optimize: > > if (x) > a[i] = y0; > else > a[i] = y1; > > to > > a[i] = x ? y0 : y1? > > I tried opt (3.9) with -O3 but looks like such an optimization do not > happened. >
The same IR at -O3 for both cases on this example. https://godbolt.org/g/Tk2MM8 -- Davide "There are no solved problems; there are only problems that are more or less solved" -- Henri Poincare -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170426/549f8ee2/attachment.html>
- Previous message: [llvm-dev] Store unswitch
- Next message: [llvm-dev] Store unswitch
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]