Go to file
Pete Cooper d6e6bf1808 Don't allocate in APInt::slt. NFC.
APInt::slt was copying the LHS and RHS in to temporaries then making
them unsigned so that it could use an unsigned comparision.  It did
this even on the paths which were trivial to give results for, such
as the sign bit of the LHS being set while RHS was not set.

This changes the logic to return out immediately in the trivial cases,
and use an unsigned comparison in the remaining cases.  But this time,
just use the unsigned comparison directly without creating any temporaries.

This works because, for example:
  true = (-2 slt -1) = (0xFE ult 0xFF)

Also added some tests explicitly for slt with APInt's larger than 64-bits
so that this new code is tested.

Using the memory for 'opt -O2 verify-uselistorder.lto.opt.bc -o opt.bc'
(see r236629 for details), this reduces the number of allocations from
26.8M to 23.9M.

llvm-svn: 270881
2016-05-26 17:40:07 +00:00
clang [OpenMP] Parsing and sema support for the to clause 2016-05-26 17:39:58 +00:00
clang-tools-extra clang-tools-extra/test/clang-tidy/cppcoreguidelines-pro-type-vararg.cpp: Tweak for r270775. 2016-05-26 11:20:54 +00:00
compiler-rt Add segment prefix for darwin 2016-05-26 17:21:24 +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 Introduce a native-only unwinder build. 2016-05-25 12:36:34 +00:00
lld Removed redundant argument. NFC. 2016-05-26 13:37:12 +00:00
lldb Guard against the C++ destructor chain by not letting the debugger list clean up after itself in the C++ destructor chain. 2016-05-26 16:51:23 +00:00
llgo [llgo] llgoi: separate evaluation from printing 2016-04-25 01:18:20 +00:00
llvm Don't allocate in APInt::slt. NFC. 2016-05-26 17:40:07 +00:00
openmp Add a test case for microtask dispatch with many arguments 2016-05-26 16:34:05 +00:00
polly [ScopInfo] Remove unused typedef OutgoingValueMapTy. NFC. 2016-05-23 14:51:52 +00:00