FailedChanges

Summary

  1. [InstSimplify] add tests for or-of-casted-icmps; NFC
  2. [NewGVN] Remove unneeded newline and format assertions. NFCI.
  3. Add markup for libc++ dylib availability Libc++ is used as a system library on macOS and iOS (amongst others). In order for users to be able to compile a binary that is intended to be deployed to an older version of the platform, clang provides the availability attribute <https://clang.llvm.org/docs/AttributeReference.html#availability>_ that can be placed on declarations to describe the lifecycle of a symbol in the library. See docs/DesignDocs/AvailabilityMarkup.rst for more information. Differential Revision: https://reviews.llvm.org/D31739
  4. [APInt] Reduce number of allocations involved in multiplying. Reduce worst case multiply size Currently multiply is implemented in operator*=. Operator* makes a copy and uses operator*= to modify the copy. Operator*= itself allocates a temporary buffer to hold the multiply result as it computes it. Then copies it to the buffer in *this. Operator*= attempts to bound the size of the result based on the number of active bits in its inputs. It also has a couple special cases to handle 0 inputs without any memory allocations or multiply operations. The best case is that it calculates a single word regardless of input bit width. The worst case is that it calculates the a 2x input width result and drop the upper bits. Since operator* uses operator*= it incurs two allocations, one for a copy of *this and one for the temporary allocation. Neither of these allocations are kept after the method operation is done. The main usage in the backend appears to be ConstantRange::multiply which uses operator* rather than operator*=. This patch moves the multiply operation to operator* and implements operator*= using it. This avoids the copy in operator*. operator* now allocates a result buffer sized the same width as its inputs no matter what. This buffer will be used as the buffer for the returned APInt. Finally, we reuse tcMultiply to implement the multiply operation. This function is capable of not calculating additional upper words that will be discarded. This change does lose the special optimizations for the inputs using less words than their size implies. But it also removed the getActiveBits calls from all multiplies. If we think those optimizations are important we could look at providing additional bounds to tcMultiply to limit the computations. Differential Revision: https://reviews.llvm.org/D32830
  5. [PM] Add ProfileSummaryAnalysis as a required pass in the new pipeline. Differential revision: https://reviews.llvm.org/D32768
  6. [Lexicon] Add BDCE Summary: Add an entry to the Lexicon for "BDCE." Reviewers: jmolloy, hfinkel Reviewed By: jmolloy Differential Revision: https://reviews.llvm.org/D31861
Revision 302174 by spatel:
[InstSimplify] add tests for or-of-casted-icmps; NFC
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/InstSimplify/AndOrXor.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/InstSimplify/AndOrXor.ll
Revision 302173 by davide:
[NewGVN] Remove unneeded newline and format assertions. NFCI.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp (diff)llvm-revision.src/llvm/trunk/lib/Transforms/Scalar/NewGVN.cpp
Revision 302172 by Mehdi Amini:
Add markup for libc++ dylib availability

Libc++ is used as a system library on macOS and iOS (amongst others). In order
for users to be able to compile a binary that is intended to be deployed to an
older version of the platform, clang provides the
availability attribute <https://clang.llvm.org/docs/AttributeReference.html#availability>_
that can be placed on declarations to describe the lifecycle of a symbol in the
library.

See docs/DesignDocs/AvailabilityMarkup.rst for more information.

Differential Revision: https://reviews.llvm.org/D31739
Change TypePath in RepositoryPath in Workspace
The file was added/libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rstllvm-revision.src/libcxx/trunk/docs/DesignDocs/AvailabilityMarkup.rst
The file was modified/libcxx/trunk/docs/index.rst (diff)llvm-revision.src/libcxx/trunk/docs/index.rst
The file was modified/libcxx/trunk/include/__config (diff)llvm-revision.src/libcxx/trunk/include/__config
The file was modified/libcxx/trunk/include/__locale (diff)llvm-revision.src/libcxx/trunk/include/__locale
The file was modified/libcxx/trunk/include/exception (diff)llvm-revision.src/libcxx/trunk/include/exception
The file was modified/libcxx/trunk/include/experimental/dynarray (diff)llvm-revision.src/libcxx/trunk/include/experimental/dynarray
The file was modified/libcxx/trunk/include/experimental/optional (diff)llvm-revision.src/libcxx/trunk/include/experimental/optional
The file was modified/libcxx/trunk/include/future (diff)llvm-revision.src/libcxx/trunk/include/future
The file was modified/libcxx/trunk/include/istream (diff)llvm-revision.src/libcxx/trunk/include/istream
The file was modified/libcxx/trunk/include/memory (diff)llvm-revision.src/libcxx/trunk/include/memory
The file was modified/libcxx/trunk/include/new (diff)llvm-revision.src/libcxx/trunk/include/new
The file was modified/libcxx/trunk/include/ostream (diff)llvm-revision.src/libcxx/trunk/include/ostream
The file was modified/libcxx/trunk/include/shared_mutex (diff)llvm-revision.src/libcxx/trunk/include/shared_mutex
The file was modified/libcxx/trunk/include/streambuf (diff)llvm-revision.src/libcxx/trunk/include/streambuf
The file was modified/libcxx/trunk/include/typeinfo (diff)llvm-revision.src/libcxx/trunk/include/typeinfo
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.cons/db_move.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/debug/debug_abort.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/debug/debug_abort.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/debug/debug_throw.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/debug/debug_throw.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/debug/debug_throw_register.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/debug/debug_throw_register.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default_throws_bad_alloc.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.cons/default_throws_bad_alloc.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.data/default.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.data/default.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/at.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/at.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.zero/default.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/dynarray.zero/default.pass.cpp
The file was added/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/lit.local.cfgllvm-revision.src/libcxx/trunk/test/libcxx/experimental/containers/sequences/dynarray/lit.local.cfg
The file was modified/libcxx/trunk/test/libcxx/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp
The file was modified/libcxx/trunk/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp (diff)llvm-revision.src/libcxx/trunk/test/libcxx/language.support/support.dynamic/new_faligned_allocation.sh.cpp
The file was modified/libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/overflow.pass.cpp
The file was modified/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
The file was modified/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.assign/copy.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.assign/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.assign/move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.assign/move.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.assign/value.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.assign/value.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.cons/copy.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.cons/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.cons/move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.cons/move.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.cons/value.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.cons/value.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/clear.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.class/any.modifiers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp
The file was modified/libcxx/trunk/test/std/experimental/any/any.nonmembers/swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/any/any.nonmembers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp
The file was modified/libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/delete_align_val_t_replace.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_align_val_t_nothrow_replace.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array_fsizeddeallocation.sh.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/delete_align_val_t_replace.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_align_val_t_nothrow_replace.pass.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete_fsizeddeallocation.sh.cpp
The file was modified/libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exceptions.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
The file was modified/libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp
The file was modified/libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp
The file was modified/libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp
The file was modified/libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp
The file was modified/libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp
The file was modified/libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
The file was modified/libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp
The file was modified/libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp
The file was modified/libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp
The file was modified/libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp
The file was modified/libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp
The file was modified/libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp
The file was added/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/lit.local.cfgllvm-revision.src/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/lit.local.cfg
The file was added/libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/lit.local.cfgllvm-revision.src/libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.shared_mutex.requirements/lit.local.cfg
The file was added/libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/lit.local.cfgllvm-revision.src/libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/lit.local.cfg
The file was modified/libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.assign/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/any/any.nonmembers/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp
The file was modified/libcxx/trunk/utils/libcxx/test/config.py (diff)llvm-revision.src/libcxx/trunk/utils/libcxx/test/config.py
Revision 302171 by ctopper:
[APInt] Reduce number of allocations involved in multiplying. Reduce worst case multiply size

Currently multiply is implemented in operator*=. Operator* makes a copy and uses operator*= to modify the copy.

Operator*= itself allocates a temporary buffer to hold the multiply result as it computes it. Then copies it to the buffer in *this.

Operator*= attempts to bound the size of the result based on the number of active bits in its inputs. It also has a couple special cases to handle 0 inputs without any memory allocations or multiply operations. The best case is that it calculates a single word regardless of input bit width. The worst case is that it calculates the a 2x input width result and drop the upper bits.

Since operator* uses operator*= it incurs two allocations, one for a copy of *this and one for the temporary allocation. Neither of these allocations are kept after the method operation is done.

The main usage in the backend appears to be ConstantRange::multiply which uses operator* rather than operator*=.

This patch moves the multiply operation to operator* and implements operator*= using it. This avoids the copy in operator*. operator* now allocates a result buffer sized the same width as its inputs no matter what. This buffer will be used as the buffer for the returned APInt. Finally, we reuse tcMultiply to implement the multiply operation. This function is capable of not calculating additional upper words that will be discarded.

This change does lose the special optimizations for the inputs using less words than their size implies. But it also removed the getActiveBits calls from all multiplies. If we think those optimizations are important we could look at providing additional bounds to tcMultiply to limit the computations.

Differential Revision: https://reviews.llvm.org/D32830
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/APInt.cpp (diff)llvm-revision.src/llvm/trunk/lib/Support/APInt.cpp
Revision 302170 by eraman:
[PM] Add ProfileSummaryAnalysis as a required pass in the new pipeline.

Differential revision: https://reviews.llvm.org/D32768
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Passes/PassBuilder.cpp (diff)llvm-revision.src/llvm/trunk/lib/Passes/PassBuilder.cpp
The file was modified/llvm/trunk/test/Other/new-pm-defaults.ll (diff)llvm-revision.src/llvm/trunk/test/Other/new-pm-defaults.ll
The file was modified/llvm/trunk/test/Transforms/Inline/inline-hot-callsite.ll (diff)llvm-revision.src/llvm/trunk/test/Transforms/Inline/inline-hot-callsite.ll
Revision 302169 by modocache:
[Lexicon] Add BDCE

Summary: Add an entry to the Lexicon for "BDCE."

Reviewers: jmolloy, hfinkel

Reviewed By: jmolloy

Differential Revision: https://reviews.llvm.org/D31861
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/Lexicon.rst (diff)llvm-revision.src/llvm/trunk/docs/Lexicon.rst