[X86] Remove an unnecessary 'if' that prevented treating INT64_MAX and -INT64_MAX...
authorCraig Topper <craig.topper@intel.com>
Fri, 27 Jul 2018 05:56:27 +0000 (05:56 +0000)
committerCraig Topper <craig.topper@intel.com>
Fri, 27 Jul 2018 05:56:27 +0000 (05:56 +0000)
commit561e298e29b17123198396cda679d0e6c1ca021e
treefe3a2c507f0b9d36ce985e5eb2e9895839ff7ef9
parenteae4742d81ef598dc2000312ad2471c4632bcb83
[X86] Remove an unnecessary 'if' that prevented treating INT64_MAX and -INT64_MAX as power of 2 minus 1 in the multiply expansion code.

Not sure why they were being explicitly excluded, but I believe all the math inside the if works. I changed the absolute value to be uint64_t instead of int64_t so INT64_MIN+1 wouldn't be signed wrap.

llvm-svn: 338101
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/imul.ll