LLVM backend for 6502
Go to file
Jack Carter d5e11ad51a The inline asm operand modifier 'c' is suppose
to be generic across architectures. It has the
following description in the gnu sources:

    Substitute immediate value without immediate syntax

Several Architectures such as x86 have local implementations
of operand modifier 'c' which go beyond the above description
slightly. To make use of the generic modifiers without overriding
local implementation one can make a call to the base class method
for AsmPrinter::PrintAsmOperand() in the locally derived method's 
"default" case in the switch statement. That way if it is already
defined locally the generic version will never get called.

This change is needed when test/CodeGen/generic/asm-large-immediate.ll
failed on a native Mips board. The test was assuming a generic
implementation was in place.

Affected files:

    lib/Target/Mips/MipsAsmPrinter.cpp:
        Changed the default case to call the base method.
    lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
        Added 'c' to the switch cases.
    test/CodeGen/Mips/asm-large-immediate.ll
        Mips compiled version of the generic one

Contributer: Jack Carter



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158925 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-21 17:14:46 +00:00
autoconf Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
bindings
cmake Completely refactor the structuring of unittest CMake files to match the 2012-06-21 09:51:26 +00:00
docs Cleanup some encoding mishaps. 2012-06-21 07:01:02 +00:00
examples Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
include move some typedefs so that we don't polute the llvm namespace. this should appease the GCC buildbots 2012-06-21 16:58:41 +00:00
lib The inline asm operand modifier 'c' is suppose 2012-06-21 17:14:46 +00:00
projects Add mipsel-* to the list of targets recognized by configure script. 2012-06-18 19:06:25 +00:00
runtime Free the allocated filename. Found by clang static analyzer. 2012-06-15 09:11:47 +00:00
test The inline asm operand modifier 'c' is suppose 2012-06-21 17:14:46 +00:00
tools llvm-stress: Stabalize (by using an ordered container) and add randomness to the order in which loops are generated. 2012-06-21 08:58:15 +00:00
unittests llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt: Unbreak build. 2012-06-21 12:44:58 +00:00
utils New test tool: obj2yaml 2012-06-19 18:02:35 +00:00
.gitignore
CMakeLists.txt New test tool: obj2yaml 2012-06-19 18:02:35 +00:00
configure Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
CREDITS.TXT Alphabetize. 2012-06-19 23:47:58 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt

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

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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 HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.