LLVM backend for 6502
Go to file
Toma Tabacu b349e0f1f1 [mips] [IAS] Restore STI.FeatureBits in .set pop.
Summary:
Only restoring AvailableFeatures is not enough and will lead to buggy behaviour.
For example, if we have a feature enabled and we ".set pop", the next time we try
to ".set" that feature nothing will happen because the "!(STI.getFeatureBits()[Feature])"
check will be false, because we didn't restore STI.FeatureBits.

In order to fix this, we need to make MipsAssemblerOptions remember the STI.FeatureBits
instead of the AvailableFeatures and then regenerate AvailableFeatures each time we ".set pop".
This is because, AFAIK, there is no way to convert from AvailableFeatures back to STI.FeatureBits,
but the reverse is possible by using ComputeAvailableFeatures(STI.FeatureBits).

I also moved the updating of AssemblerOptions inside the "if" statement in
setFeatureBits() and clearFeatureBits(), as there is no reason to update if
nothing changes.

Reviewers: dsanders, mkuper

Reviewed By: dsanders

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D9156

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239144 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-05 11:48:54 +00:00
autoconf [omp] Actually provide a default OpenMP runtime -- libgomp for now. 2015-05-28 02:17:15 +00:00
bindings IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
cmake [CMake] Revert commits r238740/r238741 for embedding Windows version info. 2015-06-01 13:40:14 +00:00
docs [docs] Document "LGTM" in the lexicon. 2015-06-04 20:28:09 +00:00
examples BrainF.cpp: Update CreateCall() according to r237624. 2015-05-19 06:50:19 +00:00
include [mips] [IAS] Restore STI.FeatureBits in .set pop. 2015-06-05 11:48:54 +00:00
lib [mips] [IAS] Restore STI.FeatureBits in .set pop. 2015-06-05 11:48:54 +00:00
projects build: make libunwind a proper project 2015-04-25 01:47:39 +00:00
test [mips] [IAS] Restore STI.FeatureBits in .set pop. 2015-06-05 11:48:54 +00:00
tools llvm-objdump: return non-zero exit code for certain cases of invalid input 2015-06-04 18:34:11 +00:00
unittests [APInt] Remove special case for i1. 2015-06-04 18:19:13 +00:00
utils [TableGen] Rename ListInit::getSize to just 'size' to be more consistent. 2015-06-02 04:15:57 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Ignore compile_commands.json only at the root of the tree. 2015-03-26 18:55:42 +00:00
CMakeLists.txt [CMake] Fixing the check for Ninja 2015-06-04 19:33:23 +00:00
CODE_OWNERS.TXT Added Andrey Churbanov as the owner of the OpenMP runtime library code 2015-05-05 20:17:53 +00:00
configure [omp] Actually provide a default OpenMP runtime -- libgomp for now. 2015-05-28 02:17:15 +00:00
CREDITS.TXT
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Deprecate in-source autotools builds 2015-05-04 02:04:54 +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.