fpc/compiler/llvm
Jonas Maebe a25ebbba3e + added volatility information to all memory references
o separate information for reading and writing, because e.g. in a
     try-block, only the writes to local variables and parameters are
     volatile (they have to be committed immediately in case the next
     instruction causes an exception)
   o for now, only references to absolute memory addresses are marked
     as volatile
   o the volatily information is (should be) properly maintained throughout
     all code generators for all archictures with this patch
   o no optimizers or other compiler infrastructure uses the volatility
     information yet
   o this functionality is not (yet) exposed at the language level, it
     is only for internal code generator use right now

git-svn-id: trunk@34996 -
2016-11-27 18:17:37 +00:00
..
aasmllvm.pas * blockaddress creates a constant operand for another opcode, it's not an 2016-11-21 07:39:05 +00:00
agllvm.pas * comment fix 2016-11-24 19:47:48 +00:00
cgllvm.pas
hlcgllvm.pas + added volatility information to all memory references 2016-11-27 18:17:37 +00:00
itllvm.pas + new la_asm LLVM pseudo-instruction to represent function-level inline 2016-11-13 16:06:26 +00:00
llvmbase.pas + new la_asm LLVM pseudo-instruction to represent function-level inline 2016-11-13 16:06:26 +00:00
llvmdef.pas * generalised llvmgettemprecorddef() so it works for almost all types 2016-09-11 17:11:57 +00:00
llvminfo.pas + LLVM 3.7 support in the LLVM IR writer 2016-09-20 21:44:06 +00:00
llvmnode.pas * fixed interprocedural gotos for llvm 2016-11-21 07:39:13 +00:00
llvmpara.pas * initialise the llvmvalueloc field for LOC_VOID locations, so they don't 2016-11-24 08:57:09 +00:00
llvmsym.pas
llvmtarg.pas
llvmtype.pas * don't perform the automatic insertion of typecasts in case register 2016-07-14 15:20:19 +00:00
nllvmadd.pas * create a separate type and def for the LLVM "i1" type, because reusing 2016-05-20 20:51:44 +00:00
nllvmbas.pas * escape all occurrences of '$' in function-level inline assembly 2016-11-13 22:10:00 +00:00
nllvmcal.pas * "push" zero-sized value parameters for LLVM and JVM, because all parameters 2016-07-14 15:24:50 +00:00
nllvmcnv.pas + added volatility information to all memory references 2016-11-27 18:17:37 +00:00
nllvmcon.pas + added volatility information to all memory references 2016-11-27 18:17:37 +00:00
nllvmflw.pas * fixed interprocedural gotos for llvm 2016-11-21 07:39:13 +00:00
nllvminl.pas + added volatility information to all memory references 2016-11-27 18:17:37 +00:00
nllvmld.pas + added volatility information to all memory references 2016-11-27 18:17:37 +00:00
nllvmmat.pas * implement unary minus for floating point via -1.0*x instead of 0-x, 2016-11-27 17:17:02 +00:00
nllvmmem.pas + added volatility information to all memory references 2016-11-27 18:17:37 +00:00
nllvmtcon.pas * when converting a pointer-sized entity to a complex procvar in a typed 2016-07-14 15:18:35 +00:00
nllvmutil.pas * automatically generate necessary indirect symbols when a new assembler 2016-07-20 20:53:03 +00:00
rgllvm.pas
symllvm.pas
tgllvm.pas + added volatility information to all memory references 2016-11-27 18:17:37 +00:00