User Tools

Site Tools


victor_s_notes

Linux Tiger flow

Download mipsel-binutils at: http://www.emdebian.org/toolchains/search.php?package=binutils-mipsel-linux-gnu&distro=sid

Have done

(done with legup-prelto opt pass, however does not work with clang, since it does not always align properly) Previously, legup only supports int to int memcpy and memset. It should support other types of memcpy, memset and memmove.

(done with LegupLowerIntrinsics.cpp) Should not change LowerIntrinsics.cpp, but modify a copy of it in Transformations/Legup/PreLTO.cpp

(done with llvm-ld after opt pass) Also, we shouldn't need to include memcpy and memset in the code when they aren't called.

Struct with primitives and pointers with: getelementptr, load, store, global initialization, zero initialization.

Struct with 1-depth array with: global and zero initialization

Generic .mif generation

Generic GEP translation into Verilog

Generic typecast from struct (memcpy and memset)

Pointer comparison with NULL, 0

Currently working on

Use the same layout for MIPS, Verilog and native machine. This boils down to adding -m32, -malign-double and shrinking pointers to 32 bits.

Get Linux Tiger flow working. For now, get gxemul working.

Verify that bytecode variables equal Verilog output (legup-watch pass). Change all undef's to 0, get gsm working where the printing flows onto two lines, get the pass working with multiple functions.

victor_s_notes.txt · Last modified: 2010/12/15 15:53 (external edit)