Go to file
Pete Cooper 34a7a945b0 Don't generate unnecessary signed ConstantRange during multiply. NFC
r231483 taught ConstantRange::multiply to be clever about signed vs unsigned ranges. For example, an unsigned range could be full-set while the signed range is more specific than that.

In looking at the allocations trace for LTO'ing verify-uselistorder (see r236629 for details), millions of allocations are from APInt, many of which come from ConstantRange's.

This change tries to avoid some (3.2 million) allocations by returning the unsigned range if its suitable. The checks here are that it should not be a wrapping range, and should be positive. That should be enough to check for ranges such as [1, 10) which the signed range will be equal to, if we were to calculate it.

Differential Revision: http://reviews.llvm.org/D20723

Reviewed by James Molloy

llvm-svn: 271020
2016-05-27 17:06:50 +00:00
clang Add instcombine pass if sampleprofile pass is enabled. 2016-05-27 16:14:35 +00:00
clang-tools-extra [include-fixer] Add a missing .h. 2016-05-27 12:49:58 +00:00
compiler-rt [profile] Add a test to ensure runtime allocator is not invoked 2016-05-27 16:49:29 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Use single precision fmax in sp path 2016-05-17 19:44:01 +00:00
libcxx [libcxx] Allow explicit pthread opt-in 2016-05-25 17:40:09 +00:00
libcxxabi libc++abi: build with -fvisibility=hidden 2016-05-26 02:12:20 +00:00
libunwind [libunwind] Improve unwinder stack usage - II 2016-05-27 15:41:45 +00:00
lld Avoid doing binary search. 2016-05-27 14:39:13 +00:00
lldb fix up lldb-server platform on Apple hosts 2016-05-27 04:04:52 +00:00
llgo [llgo] llgoi: separate evaluation from printing 2016-04-25 01:18:20 +00:00
llvm Don't generate unnecessary signed ConstantRange during multiply. NFC 2016-05-27 17:06:50 +00:00
openmp Add missing OpenMP 4.5 device entries to stubs library. 2016-05-27 15:51:14 +00:00
polly [ScopInfo] Remove unused typedef OutgoingValueMapTy. NFC. 2016-05-23 14:51:52 +00:00