llvm-6502/lib/Target/MSIL
Anton Korobeynikov 3070cd7e80 Add TODO list for MSIL backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35244 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-21 21:48:59 +00:00
..
Makefile
MSILWriter.cpp
MSILWriter.h
README.TXT

//===---------------------------------------------------------------------===// 

Vector instructions support.

ShuffleVector
ExtractElement
InsertElement

//===---------------------------------------------------------------------===// 

Add "OpaqueType" type.

//===---------------------------------------------------------------------===// 

Variable argument functions support, "VAArg" instruction and some intrinsics.
CLI instruction "arglist" can get argument list descriptor for current function
that can be passed to other functions.

 va_arg = Function "System.ArgIterator::GetNextArg()"
 va_list = Class "System.ArgIterator"
 va_start = Instruction "arglist"
 va_end = Do nothing

//===---------------------------------------------------------------------===// 

If possible get used types inside of "MSILWriter" class, do not pass trougth
"MSILModule" class.

	getAnalysis<FindUsedTypes>().getTypes()

//===---------------------------------------------------------------------===// 

"switch" instruction emulation with CLI "switch" instruction.

//===---------------------------------------------------------------------===// 

Write linker for external function, because function export need to know 
dynamic library where function located.

.method static hidebysig pinvokeimpl("msvcrt.dll" cdecl)
	void free(void*) preservesig {}

//===---------------------------------------------------------------------===// 

DLLImport'ed variables support with the help of win32 envoronment.

	"LoadLibrary" - to load dynamic library into address space.
	"GetProcAddress" - to recive variable address by name.