llvm-project/clang
David Sherwood bafdd11326 [SVE] Replace / operator in TypeSize/ElementCount with divideCoefficientBy
After some recent upstream discussion we decided that it was best
to avoid having the / operator for both ElementCount and TypeSize,
since this could give the impression that these classes can be used
in the same way as basic integer integer types. However, division
for scalable types is a bit odd because we are only dividing the
minimum quantity by a value, as opposed to something like:

  (MinSize * Vscale) / SomeValue

This is why when performing division it's important the caller
first establishes whether the operation makes sense, perhaps by
calling isKnownMultipleOf() prior to division. The caller must now
explictly call divideCoefficientBy() on the class to perform the
operation.

Differential Revision: https://reviews.llvm.org/D87700
2020-09-28 08:03:00 +01:00
..
INPUTS
bindings python bindings: fix DeprecationWarning 2020-08-10 15:25:23 -07:00
cmake Add an explicit toggle for the static analyzer in clang-tidy 2020-09-10 10:48:17 -04:00
docs Thread safety analysis: Improve documentation for ASSERT_CAPABILITY 2020-09-26 22:16:50 +02:00
examples [cmake] Fix build of attribute plugin example on Windows 2020-09-07 10:04:32 +02:00
include Add profiling support for APValues. 2020-09-27 20:05:39 -07:00
lib [SVE] Replace / operator in TypeSize/ElementCount with divideCoefficientBy 2020-09-28 08:03:00 +01:00
runtime [CMake][compiler-rt][libunwind] Compile assembly files as ASM not C, unify workarounds 2020-08-27 15:40:15 +03:00
test Canonicalize declaration pointers when forming APValues. 2020-09-27 19:05:26 -07:00
tools Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"" 2020-09-24 11:16:54 -07:00
unittests [clang-format] Add a MacroExpander. 2020-09-25 14:08:13 +02:00
utils Revert "Recommit "[CUDA][HIP] Defer overloading resolution diagnostics for host device functions"" 2020-09-24 11:16:54 -07:00
www Implements [[likely]] and [[unlikely]] in IfStmt. 2020-09-09 20:48:37 +02:00
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [cmake] Centralize LLVM_ENABLE_WARNINGS option 2020-09-21 10:23:17 -07:00
CODE_OWNERS.TXT
INSTALL.txt
LICENSE.TXT
ModuleInfo.txt
NOTES.txt
README.txt Revert "[nfc] test commit" 2020-05-16 15:12:04 -05:00

README.txt

//===----------------------------------------------------------------------===//
// C Language Family Front-end
//===----------------------------------------------------------------------===//

Welcome to Clang.  This is a compiler front-end for the C family of languages
(C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM
compiler infrastructure project.

Unlike many other compiler frontends, Clang is useful for a number of things
beyond just compiling code: we intend for Clang to be host to a number of
different source-level tools.  One example of this is the Clang Static Analyzer.

If you're interested in more (including how to build Clang) it is best to read
the relevant web sites.  Here are some pointers:

Information on Clang:             http://clang.llvm.org/
Building and using Clang:         http://clang.llvm.org/get_started.html
Clang Static Analyzer:            http://clang-analyzer.llvm.org/
Information on the LLVM project:  http://llvm.org/

If you have questions or comments about Clang, a great place to discuss them is
on the Clang development mailing list:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

If you find a bug in Clang, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/