add a note
[oota-llvm.git] / lib / Target / MSIL / README.TXT
1 //===---------------------------------------------------------------------===// 
2
3 Vector instructions support.
4
5 ShuffleVector
6 ExtractElement
7 InsertElement
8
9 //===---------------------------------------------------------------------===// 
10
11 Add "OpaqueType" type.
12
13 //===---------------------------------------------------------------------===// 
14
15 Variable argument functions support, "VAArg" instruction and some intrinsics.
16 CLI instruction "arglist" can get argument list descriptor for current function
17 that can be passed to other functions.
18
19  va_arg = Function "System.ArgIterator::GetNextArg()"
20  va_list = Class "System.ArgIterator"
21  va_start = Instruction "arglist"
22  va_end = Do nothing
23
24 //===---------------------------------------------------------------------===// 
25
26 If possible get used types inside of "MSILWriter" class, do not pass trougth
27 "MSILModule" class.
28
29         getAnalysis<FindUsedTypes>().getTypes()
30
31 //===---------------------------------------------------------------------===// 
32
33 "switch" instruction emulation with CLI "switch" instruction.
34
35 //===---------------------------------------------------------------------===// 
36
37 Write linker for external function, because function export need to know 
38 dynamic library where function located.
39
40 .method static hidebysig pinvokeimpl("msvcrt.dll" cdecl)
41         void free(void*) preservesig {}
42
43 //===---------------------------------------------------------------------===// 
44
45 DLLImport'ed variables support with the help of win32 envoronment.
46
47         "LoadLibrary" - to load dynamic library into address space.
48         "GetProcAddress" - to recive variable address by name.
49
50
51