llvm-6502/lib
Reed Kotler 8b3a8d6343 Add load/store functionality
Summary:
This patches allows non conversions like i1=i2; where both are global ints.
In addition, arithmetic and other things start to work since fast-isel will use
existing patterns for non fast-isel from tablegen files where applicable.

In addition i8, i16 will work in this limited context for assignment without the need
for sign extension (zero or signed). It does not matter how i8 or i16 are loaded (zero or sign extended)
since only the 8 or 16 relevant bits are used and clang will ask for sign extension before using them in
arithmetic. This is all made more complete in forthcoming patches.

for example:
  int i, j=1, k=3;
 
  void foo() {
    i = j + k;
  }

Keep in mind that this pass is not enabled right now and is an experimental pass
It can only be enabled with a hidden option to llvm of -mips-fast-isel.

Test Plan: Run test-suite, loadstore2.ll and I will run some executable tests.

Reviewers: dsanders

Subscribers: mcrosier

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211061 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-16 22:05:47 +00:00
..
Analysis Removing an "if (!this)" check from two print methods. The condition will 2014-06-09 22:53:16 +00:00
AsmParser IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
Bitcode IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
CodeGen PR20038: DebugInfo missing DIEs for some concrete variables. 2014-06-15 19:34:26 +00:00
DebugInfo [DWARF parser] Use distinction between DW_AT_ranges_base and DW_AT_GNU_ranges_base instead of DWARF version 2014-06-13 22:31:03 +00:00
ExecutionEngine Clean up some unnecessary mutex guards. 2014-06-16 20:54:28 +00:00
IR Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
IRReader Remove 'using std::errro_code' from lib. 2014-06-13 02:24:39 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
LTO Remove 'using std::errro_code' from lib. 2014-06-13 02:24:39 +00:00
MC Using llvm::sys::swapByteOrder() for the common case of byte-swapping a value in place 2014-06-14 13:18:07 +00:00
Object Fix pr17056. 2014-06-16 16:41:00 +00:00
Option Options: Use erase_if to remove Args from the list. 2014-05-18 15:14:13 +00:00
ProfileData Renaming SwapByteOrder() to getSwappedBytes() 2014-06-14 11:36:01 +00:00
Support Support/ConvertUTF: restore compatibility with MSVC, which only implements C89 2014-06-16 11:22:33 +00:00
TableGen Remove 'using std::errro_code' from lib. 2014-06-13 02:24:39 +00:00
Target Add load/store functionality 2014-06-16 22:05:47 +00:00
Transforms LowerSwitch: track bounding range for the condition tree. 2014-06-16 16:55:20 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00