Nadav Rotem
|
d5f5777b77
|
It is illegal to transform (sdiv (ashr X c1) c2) -> (sdiv x (2^c1 * c2)),
because C always rounds towards zero.
Thanks Dirk and Ben.
llvm-svn: 162899
|
2012-08-30 11:23:20 +00:00 |
Benjamin Kramer
|
9c0a807c27
|
InstCombine: Guard the transform introduced in r162743 against large ints and non-const shifts.
llvm-svn: 162751
|
2012-08-28 13:08:13 +00:00 |
Nadav Rotem
|
d457787fed
|
Make sure that we don't call getZExtValue on values > 64 bits.
Thanks Benjamin for noticing this.
llvm-svn: 162749
|
2012-08-28 12:23:22 +00:00 |
Nadav Rotem
|
11935b29f3
|
Teach InstCombine to canonicalize [SU]div+[AL]shl patterns.
For example:
%1 = lshr i32 %x, 2
%2 = udiv i32 %1, 100
rdar://12182093
llvm-svn: 162743
|
2012-08-28 10:01:43 +00:00 |