diff options
| author | Sanjay Patel <spatel@rotateright.com> | 2019-02-28 19:05:26 +0000 |
|---|---|---|
| committer | Sanjay Patel <spatel@rotateright.com> | 2019-02-28 19:05:26 +0000 |
| commit | 4a47f5f55071a17299a62cd37dc0eae3daebc2b3 (patch) | |
| tree | e45cb2e365c1c414796819bd1d0a1efe32df4663 /openmp/runtime/src/z_Linux_util.cpp | |
| parent | 8b1703fc1db8896db792573d2a86fd7a243382fd (diff) | |
| download | bcm5719-llvm-4a47f5f55071a17299a62cd37dc0eae3daebc2b3.tar.gz bcm5719-llvm-4a47f5f55071a17299a62cd37dc0eae3daebc2b3.zip | |
[InstCombine] fold adds of constants separated by sext/zext
This is part of a transform that may be done in the backend:
D13757
...but it should always be beneficial to fold this sooner in IR
for all targets.
https://rise4fun.com/Alive/vaiW
Name: sext add nsw
%add = add nsw i8 %i, C0
%ext = sext i8 %add to i32
%r = add i32 %ext, C1
=>
%s = sext i8 %i to i32
%r = add i32 %s, sext(C0)+C1
Name: zext add nuw
%add = add nuw i8 %i, C0
%ext = zext i8 %add to i16
%r = add i16 %ext, C1
=>
%s = zext i8 %i to i16
%r = add i16 %s, zext(C0)+C1
llvm-svn: 355118
Diffstat (limited to 'openmp/runtime/src/z_Linux_util.cpp')
0 files changed, 0 insertions, 0 deletions

