llvm-6502/test
Oliver Stannard 8f832fce3b [Thumb1] Re-write emitThumbRegPlusImmediate
This was motivated by a bug which caused code like this to be
miscompiled:
  declare void @take_ptr(i8*)
  define void @test() {
    %addr1.32 = alloca i8
    %addr2.32 = alloca i32, i32 1028
    call void @take_ptr(i8* %addr1)
    ret void
  }

This was emitting the following assembly to get the value of %addr1:
  add r0, sp, #1020
  add r0, r0, #8
However, "add r0, r0, #8" is not a valid Thumb1 instruction, and this
could not be assembled. The generated object file contained this,
resulting in r0 holding SP+8 rather tha SP+1028:
  add r0, sp, #1020
  add r0, sp, #8

This function looked like it could have caused miscompilations for
other combinations of registers and offsets (though I don't think it is
currently called with these), and the heuristic it used did not match
the emitted code in all cases.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222125 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-17 11:18:10 +00:00
..
Analysis [DependenceAnalysis] Allow subscripts of different types 2014-11-16 16:52:44 +00:00
Assembler Use FileCheck in a few tests. 2014-11-06 15:05:51 +00:00
Bindings [OCaml] Run tests twice, with ocamlc and ocamlopt (if available) 2014-11-03 09:50:53 +00:00
Bitcode
BugPoint
CodeGen [Thumb1] Re-write emitThumbRegPlusImmediate 2014-11-17 11:18:10 +00:00
DebugInfo Add a test for r222029 that doesn't rely on the default target being a COFF platform. 2014-11-14 21:23:26 +00:00
ExecutionEngine Fix symbol resolution of floating point libc builtins in MCJIT 2014-11-13 23:32:52 +00:00
Feature
FileCheck
Instrumentation Move asan-coverage into a separate phase. 2014-11-11 22:14:37 +00:00
Integer
JitListener
Linker Copy externally_initialized in GlobalVariable::copyAttributesFrom. 2014-11-10 18:41:59 +00:00
LTO Add Forward Control-Flow Integrity. 2014-11-11 21:08:02 +00:00
MC R600/SI: Start implementing an assembler 2014-11-14 14:08:00 +00:00
Object Object, support both mach-o archive t.o.c file names 2014-11-12 01:37:45 +00:00
Other
SymbolRewriter Transform: add SymbolRewriter pass 2014-11-07 21:32:08 +00:00
TableGen
tools Object, COFF: Tighten the object file parser 2014-11-17 11:17:17 +00:00
Transforms Optimize switch lookup tables with linear mapping. 2014-11-17 09:13:57 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt Make llvm-go test dependency optional. 2014-10-23 19:51:40 +00:00
lit.cfg Only run the gold plugin tests if gold supports the targets we test with. 2014-11-11 05:27:12 +00:00
lit.site.cfg.in [OCaml] [autoconf] Migrate to ocamlfind. 2014-10-30 08:29:45 +00:00
Makefile OCAMLFLAGS can contain =, don't use = with sed 2014-11-13 09:29:30 +00:00
Makefile.tests
TestRunner.sh