1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/test
Matthias Braun 5ca7af07c9 ARM: Introduce conservative load/store optimization mode
Most of the time ARM has the CCR.UNALIGN_TRP bit set to false which
means that unaligned loads/stores do not trap and even extensive testing
will not catch these bugs. However the multi/double variants are not
affected by this bit and will still trap. In effect a more aggressive
load/store optimization will break existing (bad) code.

These bugs do not necessarily manifest in the broken code where the
misaligned pointer is formed but often later in perfectly legal code
where it is accessed. This means recompiling system libraries (which
have no alignment bugs) with a newer compiler will break existing
applications (with alignment bugs) that worked before.

So (under protest) I implemented this safe mode which limits the
formation of multi/double operations to cases that are not affected by
user code (stack operations like spills/reloads) or cases where the
normal operations trap anyway (floating point load/stores). It is
disabled by default.

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

llvm-svn: 262504
2016-03-02 19:20:00 +00:00
..
Analysis [SCEV] Make getRange smarter around selects 2016-03-02 00:57:54 +00:00
Assembler
Bindings
Bitcode
BugPoint
CodeGen ARM: Introduce conservative load/store optimization mode 2016-03-02 19:20:00 +00:00
DebugInfo [AArch64] Enable non-leaf frame pointer elimination. 2016-03-02 17:58:31 +00:00
Examples
ExecutionEngine
Feature
FileCheck Reapply r262092: [FileCheck] Abort if -NOT is combined with another suffix. 2016-02-29 22:13:03 +00:00
Instrumentation [PGO] Remove redundant counter copies for avail_extern functions. 2016-02-27 23:11:30 +00:00
Integer
JitListener
LibDriver
Linker
LTO Rename embedded bitcode section in MachO 2016-02-29 19:40:10 +00:00
MC [X86] Make X86MCCodeEmitter::DetermineREXPrefix locate operands more like how VEX prefix handling does. 2016-03-02 07:32:43 +00:00
Object [lanai] Add ELF enum value and relocations. 2016-03-01 21:21:42 +00:00
Other [PM] Wire up optimization levels and default pipeline construction APIs 2016-02-28 22:16:03 +00:00
SymbolRewriter
TableGen
tools [lanai] Add ELF enum value and relocations. 2016-03-01 21:21:42 +00:00
Transforms revert r262424 because there's a *clang test* for AArch64 that checks -O3 asm output 2016-03-02 01:04:09 +00:00
Unit
Verifier [Verifier] Don't abort on invalid cleanuprets 2016-03-01 18:59:50 +00:00
YAMLParser
.clang-format
CMakeLists.txt [CMake] Add convenience target llvm-test-depends to build test dependencies. 2016-03-02 00:27:14 +00:00
lit.cfg
lit.site.cfg.in
TestRunner.sh