1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Go to file
Jack Carter 533bef32ae 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
llvm-svn: 158925
2012-06-21 17:14:46 +00:00
autoconf
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
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
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
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.