Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Mirror of official llvm git repository located at Updated every five minutes.
C++ LLVM Assembly Python Objective-C C Other

[MC/AsmParser] Avoid setting MCSymbol.IsUsed in some cases

Avoid marking some MCSymbols as used in MC/AsmParser.cpp when no uses
exist. This fixes a bug in parseAssignmentExpression() which
inadvertently sets IsUsed, thereby triggering:

    "invalid re-assignment of non-absolute variable"

on otherwise valid code. No other functionality change intended.

The original version of this patch touched many calls to MCSymbol
accessors. On rafael's advice, I have stripped this patch down a bit.

As a follow-up, I intend to find the call sites which intentionally set
IsUsed and force them to do so explicitly.

Differential Revision:

git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
latest commit ae65a7a88e
Vedant Kumar authored
Failed to load latest commit information.
autoconf Add an exposed variable for which c++ compiler we're using for our
bindings [PM/AA] Remove the last relics of the separate IPA library from LLVM,
cmake [CMake] Fix build on MSVC in r246156.
docs DI: Require subprogram definitions to be distinct
examples Kaleidoscope: Prune __attribute__((used)). Some compilers wouldn't ac…
include [MC/AsmParser] Avoid setting MCSymbol.IsUsed in some cases
lib [MC/AsmParser] Avoid setting MCSymbol.IsUsed in some cases
projects build: make libunwind a proper project
resources In MSVC builds embed a VERSIONINFO resource in our exe and DLL files.
test [MC/AsmParser] Avoid setting MCSymbol.IsUsed in some cases
tools [llvm-readobj] Add pair of missing braces.
unittests Teach the target parsing framework to directly compute the length of all
utils lit: Match UNSUPPORTED against target triple as we do for XFAIL.
.arcconfig Updated phabricator server.
.clang-format Test commit.
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default.
.gitignore Minor updates to gitignore so that symlinks are ignored in the projec…
CMakeLists.txt [lit] Don't disable the lit progress bar by default with MSVC
CODE_OWNERS.TXT Add myself as the InstCombine owner.
CREDITS.TXT [WebAssembly] Initial WebAssembly backend
LICENSE.TXT Update for a new year.
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO
Makefile [configure/make] Propagate names of build host tools when making Buil…
Makefile.common Makefile.common: Update a description, s/Source/SOURCES/ , according … We're actually -Wmissing-field-initializers clean thanks to the cmake
Makefile.rules We're actually -Wmissing-field-initializers clean thanks to the cmake
README.txt Revert test commit at revision 233535.
configure Add an exposed variable for which c++ compiler we're using for our [Sparc] Implement i64 load/store support for 32-bit sparc.


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
Something went wrong with that request. Please try again.