1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
Go to file
Jakob Stoklund Olesen 755ba2ee84 Use the right floating point load/store instructions in PPCInstrInfo::foldMemoryOperandImpl().
The PowerPC floating point registers can represent both f32 and f64 via the
two register classes F4RC and F8RC. F8RC is considered a subclass of F4RC to
allow cross-class coalescing. This coalescing only affects whether registers
are spilled as f32 or f64.

Spill slots must be accessed with load/store instructions corresponding to the
class of the spilled register. PPCInstrInfo::foldMemoryOperandImpl was looking
at the instruction opcode which is wrong.

X86 has similar floating point register classes, but doesn't try to fold
memory operands, so there is no problem there.

llvm-svn: 97262
2010-02-26 21:09:24 +00:00
autoconf Added SAFECode (safecode) to the list of projects to automatically configure. 2010-02-25 22:57:19 +00:00
bindings Fix some ocaml documentation 2010-02-16 03:45:17 +00:00
cmake Update CMake LibDeps 2010-01-22 18:14:14 +00:00
docs Remove REQUIRES_EH from the suggested set of make variables, since users can 2010-02-26 20:43:33 +00:00
examples Roll back r96959 again. 2010-02-23 20:53:37 +00:00
include Further constify MDNode* references. 2010-02-26 19:39:56 +00:00
lib Use the right floating point load/store instructions in PPCInstrInfo::foldMemoryOperandImpl(). 2010-02-26 21:09:24 +00:00
projects Testing subversion commit access 2010-02-23 15:11:17 +00:00
runtime Switch .bc/.ll Makefile rules to use LLVM{CC,CXX} instead of LLVMG{CC,XX} 2010-02-23 10:28:06 +00:00
test Use the right floating point load/store instructions in PPCInstrInfo::foldMemoryOperandImpl(). 2010-02-26 21:09:24 +00:00
tools disable-mem2reg and disable-gvn options should not be used by the driver. 2010-02-26 18:38:44 +00:00
unittests Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
utils add some helpful comments to the emitter 2010-02-26 08:15:02 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt CMake: Add MCParser directory. 2010-01-22 02:04:33 +00:00
configure Added SAFECode (safecode) to the list of projects to automatically configure. 2010-02-25 22:57:19 +00:00
CREDITS.TXT Adding the MicroBlaze backend. 2010-02-23 19:15:24 +00:00
LICENSE.TXT 2010 is upon us. 2010-01-09 18:40:31 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
Makefile.rules Try r96559 for the third time. This time the shared library is only built if 2010-02-25 06:34:33 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt Give packagers some advice about how to build LLVM so it's useful to 2010-02-26 00:54:42 +00:00

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.