llvm-project/llvm
John McCall 326a5a2658 Fix a bug in OptimizedStructLayout when filling gaps before
fixed fields with highly-aligned flexible fields.

The code was not considering the possibility that aligning
the current offset to the alignment of a queue might push
us past the end of the gap.  Subtracting the offsets to
figure out the maximum field size for the gap then overflowed,
making us think that we had nearly unbounded space to fill.

Fixes PR 51131.
2021-07-21 15:47:18 -04:00
..
benchmarks
bindings [IR] Rename `comdat noduplicates` to `comdat nodeduplicate` 2021-07-20 12:47:10 -07:00
cmake [CMake] Disable -fno-semantic-interposition for GCC<10.3 on SystemZ 2021-07-08 22:09:21 -07:00
docs [IR] Rename `comdat noduplicates` to `comdat nodeduplicate` 2021-07-20 12:47:10 -07:00
examples Opaque pointer GEP fixes for BrainF example 2021-07-18 18:25:54 -07:00
include Revert "[profile] Add binary id into profiles" 2021-07-21 19:15:18 +00:00
lib Fix a bug in OptimizedStructLayout when filling gaps before 2021-07-21 15:47:18 -04:00
projects [RFC][debuginfo-test] Rename debug-info lit tests for general purposes 2021-06-28 11:31:40 +01:00
resources
runtimes
test [AMDGPU] Tune perfhint analysis to account access width 2021-07-21 12:46:10 -07:00
tools Revert "[profile] Add binary id into profiles" 2021-07-21 19:15:18 +00:00
unittests Fix a bug in OptimizedStructLayout when filling gaps before 2021-07-21 15:47:18 -04:00
utils [gn build] Port 403e67d34d 2021-07-21 00:19:59 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [MLGO] Use binary protobufs for improved training performance. 2021-07-19 13:59:28 -07:00
CODE_OWNERS.TXT [NFC] Update code owners file 2021-07-20 11:29:10 -07:00
CREDITS.TXT
LICENSE.TXT
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.