From 3070cd7e80817a72dd7873b35ed32159bc52568b Mon Sep 17 00:00:00 2001 From: Anton Korobeynikov Date: Wed, 21 Mar 2007 21:48:59 +0000 Subject: [PATCH] Add TODO list for MSIL backend git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35244 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/MSIL/README.TXT | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lib/Target/MSIL/README.TXT diff --git a/lib/Target/MSIL/README.TXT b/lib/Target/MSIL/README.TXT new file mode 100644 index 00000000000..34c7f1d8386 --- /dev/null +++ b/lib/Target/MSIL/README.TXT @@ -0,0 +1,51 @@ +//===---------------------------------------------------------------------===// + +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().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. + + +