LLVM backend for 6502
Go to file
Duncan P. N. Exon Smith 88116fe71a Reapply "Verifier: Check for incompatible bit piece expressions"
This reverts commit r234717, reapplying r234698 (in spirit).

As described in r234717, the original `Verifier` check had a
use-after-free.  Instead of storing pointers to "interesting" debug info
intrinsics whose bit piece expressions should be verified once we have
typerefs, do a second traversal.  I've added a testcase to catch the
`llc` crasher.

Original commit message:

    Verifier: Check for incompatible bit piece expressions

    Convert an assertion into a `Verifier` check.  Bit piece expressions
    must fit inside the variable, and mustn't be the entire variable.
    Catching this in the verifier will help us find bugs sooner, and makes
    `DIVariable::getSizeInBits()` dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234776 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-13 18:53:11 +00:00
autoconf Try to unbreak Clang build to export LLVM_ABI_BREAKING_CHECKS, fixup for r233310. 2015-04-01 11:46:15 +00:00
bindings Go bindings: make various DIBuilder arguments optional. 2015-04-08 20:18:57 +00:00
cmake [CMake] Uniquify LLVM_ABI_BREAKING_CHECKS. It reverts r233784, "[CMake] Cache in LLVMConfig.cmake." 2015-04-13 04:54:12 +00:00
docs [docs] Update outdated ExtendingLLVM.rst 2015-04-13 16:04:17 +00:00
examples Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
include Reapply "Verifier: Check for incompatible bit piece expressions" 2015-04-13 18:53:11 +00:00
lib Reapply "Verifier: Check for incompatible bit piece expressions" 2015-04-13 18:53:11 +00:00
projects
test Reapply "Verifier: Check for incompatible bit piece expressions" 2015-04-13 18:53:11 +00:00
tools llvm-readobj: teach it to handle MachO Universal Archive correctly 2015-04-13 16:05:49 +00:00
unittests DebugInfo: Make MDSubprogram::getFunction() return Constant 2015-04-11 20:27:40 +00:00
utils Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt Enable W4 warnings by default for MSVC builds 2015-04-07 19:01:01 +00:00
CODE_OWNERS.TXT
configure Try to unbreak Clang build to export LLVM_ABI_BREAKING_CHECKS, fixup for r233310. 2015-04-01 11:46:15 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Try to unbreak Clang build to export LLVM_ABI_BREAKING_CHECKS, fixup for r233310. 2015-04-01 11:46:15 +00:00
Makefile.rules
README.txt Revert test commit at revision 233535. 2015-03-30 12:39:03 +00:00

Low Level Virtual Machine (LLVM)
================================

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're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.