Go to file
Simon Pilgrim b02667c469 [APInt] Add APInt::insertBits() method to insert an APInt into a larger APInt
We currently have to insert bits via a temporary variable of the same size as the target with various shift/mask stages, resulting in further temporary variables, all of which require the allocation of memory for large APInts (MaskSizeInBits > 64).

This is another of the compile time issues identified in PR32037 (see also D30265).

This patch adds the APInt::insertBits() helper method which avoids the temporary memory allocation and masks/inserts the raw bits directly into the target.

Differential Revision: https://reviews.llvm.org/D30780

llvm-svn: 297458
2017-03-10 13:44:32 +00:00
clang [clang-format] Use a reference in loop variable; NFC 2017-03-10 13:09:29 +00:00
clang-tools-extra [clang-rename] Introduce an unittest skeleton for clang-rename. 2017-03-10 10:30:14 +00:00
compiler-rt Reapply r297382: "[compiler-rt][builtins] Add __isOSVersionAtLeast()" 2017-03-09 17:02:16 +00:00
debuginfo-tests
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx Disable unsigned integer sanitizer for basic_string::replace(). Patch from tomcherry@google.com 2017-03-09 01:54:13 +00:00
libcxxabi Fully Reformat fallback_malloc.cpp 2017-03-04 03:23:15 +00:00
libunwind Fix up the places where AddressSpace.hpp is included. 2017-03-09 08:04:07 +00:00
lld Use SectionBase for linker script expressions. 2017-03-10 00:47:33 +00:00
lldb Add a distinction in an apple accelerator table between IsValid and 2017-03-10 06:38:19 +00:00
llgo [llgo] Remove support for LLVM attributes 2016-12-06 19:22:04 +00:00
llvm [APInt] Add APInt::insertBits() method to insert an APInt into a larger APInt 2017-03-10 13:44:32 +00:00
openmp Fix GNU strerror_r check for Android. 2017-03-07 22:18:05 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Introduce isl C++ bindings, Part 1: value_ptr style interface 2017-03-10 11:41:03 +00:00