..
aarch64
+ AAarch64: FMovFMov2FMov optimization
2020-08-16 16:26:39 +00:00
arm
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
armgen
* Aarch64: set register size correctly for AndStrb2Strb optimization, resolves #37427
2020-07-28 20:46:05 +00:00
avr
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
generic
html
i386
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
i8086
* 8086: More fixes for Ofs() handling.
2020-08-18 09:52:40 +00:00
jvm
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
llvm
* Added on option to implement library based smartlinking of the dead stripable vectorized lists (e.g. resource strings index). By default smartlinking of such lists only supported when the section based smartlinking (tf_smartlink_sections) is enabled for a target.
2020-08-18 11:31:39 +00:00
m68k
* simplified code
2020-08-08 14:48:24 +00:00
mips
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
msg
* document -FF option
2020-08-12 19:11:45 +00:00
powerpc
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
powerpc64
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
ppcgen
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
riscv
* ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
2020-04-26 10:42:07 +00:00
riscv32
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
riscv64
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
sparc
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
sparc64
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
sparcgen
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
systems
* msdos: Include debug info only when it is enabled by options.
2020-08-06 19:04:08 +00:00
utils
* fixed a typo.
2020-08-17 14:23:27 +00:00
x86
* don't convert lea to add/inc/dec/sub if there's a symbol in the reference
2020-08-15 12:14:45 +00:00
x86_64
* do not throw an internal error later on in case of a recursive call, if the declaration of the function was faulty, resolves #37460
2020-07-31 21:03:35 +00:00
xtensa
+ Xtensa: consider also floating point stores in TCpuAsmOptimizer.RegLoadedWithNewValue
2020-08-16 21:48:30 +00:00
z80
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
aasmbase.pas
* ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
2020-04-26 10:42:07 +00:00
aasmcfi.pas
aasmcnst.pas
* Added on option to implement library based smartlinking of the dead stripable vectorized lists (e.g. resource strings index). By default smartlinking of such lists only supported when the section based smartlinking (tf_smartlink_sections) is enabled for a target.
2020-08-18 11:31:39 +00:00
aasmdata.pas
* Reverted accidentally committed files.
2020-08-13 18:48:19 +00:00
aasmdef.pas
* also generate indirect symbols for AB_PRIVATE_EXTERN symbols as these might be used from a unit in another package due to inlining
2019-11-21 21:44:12 +00:00
aasmsym.pas
aasmtai.pas
* fix several double ;
2020-05-24 17:52:09 +00:00
aggas.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
aopt.pas
* track used register better: if a deallocation is moved/removed, the used register may not be removed from the current register used register set
2020-02-23 18:24:31 +00:00
aoptbase.pas
* use RegistersInterfere instead of SuperRegistersEqual in TAoptBase.RegInOp and TAoptBase.RegInRef
2020-05-11 17:18:00 +00:00
aoptda.pas
aoptobj.pas
* Fixed TAOptObj.CollapseZeroDistJump to properly handle delay slots.
2020-07-28 23:27:42 +00:00
aoptutils.pas
o patch by J. Gareth Moreton, seeks to improve maintainability, safety and efficiency
2019-11-26 22:09:33 +00:00
assemble.pas
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
blockutl.pas
- remmoved doregister parameter from t*sym constructors, as the registration
2019-09-14 17:30:45 +00:00
browcol.pas
* added is_normal_fieldvarsym() helper and use it
2019-12-24 22:12:44 +00:00
catch.pas
ccharset.pas
* some cleanup
2019-12-23 21:52:06 +00:00
cclasses.pas
* do prefetching correctly
2020-01-06 20:59:24 +00:00
cepiktimer.pas
+ forgotten file
2020-01-06 20:59:25 +00:00
cfidwarf.pas
* generate CFI data only if we're either using it for exception handling or if debug output is enabled (or should this only be generated for targets that in theory support DWARF exception handling?). This removes unnecessary bloat from e.g. Windows binaries
2020-05-10 20:46:08 +00:00
cfileutl.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
cg64f32.pas
* For 8 and 16 bit CPUs preload the ref base and index to a separate temp register in the generic implementation of a_load64_reg_ref() and a_load64_ref_reg().
2020-08-03 18:45:38 +00:00
cgbase.pas
* Changed tsuperregisterworklist.get() to always return the last item from the list.
2020-07-25 18:29:59 +00:00
cgexcept.pas
* fix several double ;
2020-05-24 17:52:09 +00:00
cghlcpu.pas
cgobj.pas
Disable limitation of handling of negative shift values, can be enalbed again by setting LIMIT_NEG_SHIFTVALUES macro
2020-08-04 07:45:03 +00:00
cgutils.pas
cmsgs.pas
comphook.pas
* fixed output of line numbers/columns with -vR
2019-12-24 16:14:29 +00:00
compiler.pas
* fix morphos info unit name after r44454
2020-03-31 05:12:59 +00:00
compinnr.pas
* fix for Mantis #37251 : apply patches by Bi0T1N to implement the IsConstValue() intrinsic
2020-06-25 20:42:47 +00:00
comprsrc.pas
* make sure that the resource compiler related globals are reset
2020-08-12 19:08:31 +00:00
constexp.pas
Fix cycle with -CriotR option on aarch64-linux
2020-07-06 11:39:42 +00:00
COPYING.txt
cprofile.pas
* proper naming
2020-01-06 14:58:06 +00:00
crefs.pas
cresstr.pas
* Added on option to implement library based smartlinking of the dead stripable vectorized lists (e.g. resource strings index). By default smartlinking of such lists only supported when the section based smartlinking (tf_smartlink_sections) is enabled for a target.
2020-08-18 11:31:39 +00:00
cscript.pas
cstreams.pas
cutils.pas
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
dbgbase.pas
* Reworked the optimization of unused $parentfp for nested routines.
2020-05-19 13:17:47 +00:00
dbgcodeview.pas
dbgdwarf.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
dbgstabs.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
dbgstabx.pas
* ReplaceForbiddenAsmSymbolChars renamed ApplyAsmSymbolRestrictions, because now it also applies the
2020-04-26 10:42:07 +00:00
defcmp.pas
* extract checking whether two parameter defs of two procdefs are equal into a separate function
2020-07-31 15:55:31 +00:00
defutil.pas
* constrained type parameters are not undefined defs, resolves #37107
2020-05-21 18:19:08 +00:00
dirparse.pas
dwarfbase.pas
elfbase.pas
+ support for arm attributes
2019-10-09 17:45:40 +00:00
entfile.pas
* compilation fixed
2020-04-03 20:25:31 +00:00
export.pas
expunix.pas
finput.pas
fmodule.pas
* fix several double ;
2020-05-24 17:52:09 +00:00
fpccrc.pas
fpcdefs.inc
+ some basic stuff for mips64el
2020-06-07 20:04:17 +00:00
fpcp.pas
fpkg.pas
fppu.pas
* have the module keep track whether it was loaded from a PPU with a different endianess than the current host system
2020-01-30 21:48:15 +00:00
gendef.pas
+ implement initial compiler support for Win64 on Aarch64
2020-04-21 06:04:22 +00:00
globals.pas
* tcputype.cpu_z80 renamed .cpu_zilog_z80
2020-04-27 15:47:52 +00:00
globstat.pas
globtype.pas
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
hlcg2ll.pas
* handle LOC_(C)SUBSETREG/REF in second_NegNot_assign
2020-05-07 02:43:02 +00:00
hlcgobj.pas
* set mm register subreg properly when cleaning them with xor
2020-07-02 21:14:43 +00:00
htypechk.pas
* fix for Mantis #35140 : apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
2020-04-25 22:12:35 +00:00
impdef.pas
import.pas
ldscript.pas
link.pas
* wlib: Explicitly specify the smallest possible record align to reduce the size of .a files.
2020-08-16 17:08:00 +00:00
macho.pas
machoutils.pas
Makefile
Regenerated all Makefile's
2020-08-04 10:19:49 +00:00
Makefile.fpc
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
MPWMake
msgidx.inc
* regenerate msg*.inc files
2020-08-12 19:11:49 +00:00
msgtxt.inc
* regenerate msg*.inc files
2020-08-12 19:11:49 +00:00
nadd.pas
* In the TP mode for 16-bit CPUs uint8+uint8 is extended to sint16+sint16. This is TP compatible.
2020-08-17 09:25:45 +00:00
nbas.pas
- reverted r46457, accidentally committed (breaks -Oooptcse)
2020-08-16 12:46:21 +00:00
ncal.pas
* Reverted accidentally committed files.
2020-08-13 18:48:19 +00:00
ncgadd.pas
ncgbas.pas
- reverted r46457, accidentally committed (breaks -Oooptcse)
2020-08-16 12:46:21 +00:00
ncgcal.pas
* when a function returns a value in a register, but normally that type
2020-08-15 15:13:08 +00:00
ncgcnv.pas
+ Xtensa: the boolean extension is used as flags
2020-04-03 20:15:22 +00:00
ncgcon.pas
ncgflw.pas
+ insert alignments after break/goto/exit/continue jmp instructions, if it is
2020-01-20 21:56:39 +00:00
ncghlmat.pas
ncginl.pas
* handle LOC_(C)SUBSETREG/REF in second_NegNot_assign
2020-05-07 02:43:02 +00:00
ncgld.pas
Avoid overflow errors on z80 CPU by changing local variable type from aint to tcgint
2020-07-21 05:23:36 +00:00
ncgmat.pas
* reworked usage of tcgnotnode.handle_locjump
2020-08-05 21:15:32 +00:00
ncgmem.pas
* Do not use the LOC_VOID location to indicate unused parameters.
2020-05-21 09:36:40 +00:00
ncgnstfl.pas
* fix potential crash with copied goto nodes on nestedparentfp platforms
2019-09-14 17:22:23 +00:00
ncgnstld.pas
ncgnstmm.pas
* Do not use the LOC_VOID location to indicate unused parameters.
2020-05-21 09:36:40 +00:00
ncgobjc.pas
ncgopt.pas
ncgrtti.pas
* RTTI: Offset of record fields is defined as SizeInt not ptruint.
2020-08-16 13:27:56 +00:00
ncgset.pas
Avoid range check error for avr/i8086 CPU by changing local variable dist type to asizeuint
2019-08-19 20:22:22 +00:00
ncgutil.pas
* To check the size of a register(s) corresponding to a variable it is needed to use localloc.size instead of def_cgsize(vardef).
2020-07-23 13:10:50 +00:00
ncgvmt.pas
* fix for Mantis #36935 : apply patch by J. Gareth Moreton to fix a typo in cs_opt_remove_empty_proc
2020-04-20 18:42:30 +00:00
ncnv.pas
Avoid overflow errors on z80 CPU by changing local variable type from aint to tcgint
2020-07-21 05:23:36 +00:00
ncon.pas
* fix for Mantis #35140 : apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
2020-04-25 22:12:35 +00:00
nflw.pas
* allow iso gotos within a procedure
2020-08-12 19:07:23 +00:00
ngenutil.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
ngtcon.pas
* attempt to correct bitpacked arrays on big-endian systems after r43186. this fixed tparray13 test on m68k at least
2020-08-09 21:31:18 +00:00
ninl.pas
* fix for Mantis #37187 : inside generics the constant code in pexpr does not handle all cases and thus current_procinfo needs to be checked as well
2020-08-03 21:53:14 +00:00
nld.pas
* Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines.
2020-06-20 18:34:26 +00:00
nmat.pas
+ simplify "x mod -1", resolves #37449
2020-07-30 20:35:34 +00:00
nmem.pas
* Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines.
2020-06-20 18:34:26 +00:00
nobj.pas
* add support for creating non-address-only procvars to
2020-04-02 21:21:36 +00:00
nobjc.pas
node.pas
* a nil node is also a constant pointer node
2020-06-01 20:50:38 +00:00
nopt.pas
nset.pas
+ optimize a in [a]
2020-08-06 20:49:08 +00:00
nutils.pas
- reverted r46457, accidentally committed (breaks -Oooptcse)
2020-08-16 12:46:21 +00:00
objcasm.pas
objcdef.pas
objcgutl.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
objcutil.pas
ogbase.pas
* fix for Mantis #37559 : the adjustment of the section type should only be done for internal COFF writers
2020-08-13 05:42:41 +00:00
ogcoff.pas
+ introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
2020-04-25 12:59:25 +00:00
ogelf.pas
+ support for arm attributes
2019-10-09 17:45:40 +00:00
oglx.pas
ogmacho.pas
+ introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
2020-04-25 12:59:25 +00:00
ogmap.pas
* avoid 8-bit truncation of the sizes in the internal linker map
2020-06-02 23:13:32 +00:00
ognlm.pas
+ introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
2020-04-25 12:59:25 +00:00
ogomf.pas
* Added virtual function TObjSection.GetAltName to be able to specify additional section name by descendants.
2020-08-06 20:21:13 +00:00
ogrel.pas
Avoid wrong overflow error when using -Criot options
2020-07-21 05:22:26 +00:00
omfbase.pas
* compilation of x86 and PowerPC fixed
2019-10-09 19:26:59 +00:00
optbase.pas
+ CalcUseSum: calculates a sum of all use sets of the current node and its children
2020-01-10 21:34:29 +00:00
optconstprop.pas
+ propagate constants across call nodes
2020-02-15 18:27:22 +00:00
optcse.pas
* setelementn cannot be the root node of a cse domain, resolves #37477
2020-08-06 20:49:07 +00:00
optdead.pas
optdeadstore.pas
* set nf_* correctly when an inc/dec node is converted into an add/sub node
2020-02-15 13:53:16 +00:00
optdfa.pas
* take care of for loop counter read after loop
2020-01-26 20:13:18 +00:00
options.pas
+ add option -FF to force the use of fpcres as RC compiler
2020-08-12 19:08:25 +00:00
optloadmodifystore.pas
optloop.pas
* do not try to unroll a loop if previously an error was thrown, resolves #37475
2020-08-14 18:10:56 +00:00
opttail.pas
* disable tail recursion optimisation if there is a copy-back parameter
2020-07-21 17:57:50 +00:00
optutils.pas
* more fixes for loop strength reduction
2020-01-11 20:37:05 +00:00
optvirt.pas
owar.pas
* return the correct size for files in ar archive. This is required by the REL
2020-06-01 22:25:31 +00:00
owbase.pas
* return the correct size for files in ar archive. This is required by the REL
2020-06-01 22:25:31 +00:00
owomflib.pas
parabase.pas
* fix PowerPC compilation
2020-02-02 15:20:28 +00:00
paramgr.pas
* Added optimization option cs_opt_unused_para. It is enabled for -O2 and higher. The parentfp optimization is tied to cs_opt_unused_para.
2020-06-20 18:47:42 +00:00
parser.pas
Set default stack size for i8086-embedded target: 16384 for far data model, and 2048 for other memory models
2019-11-28 14:50:55 +00:00
pass_1.pas
* synchronized with trunk
2020-04-26 22:33:58 +00:00
pass_2.pas
pbase.pas
pcp.pas
pdecl.pas
* 0 is a valid label in iso mode, resolves #37428
2020-08-11 12:05:13 +00:00
pdecobj.pas
pdecsub.pas
* msdos: Force names of external routines to be all uppercase only in TP mode.
2020-08-16 10:45:45 +00:00
pdecvar.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
pexports.pas
pexpr.pas
* reject the default Create array constructor if used on a variable instead of a type
2020-08-05 21:35:01 +00:00
pgentype.pas
* fix for Mantis #35140 : apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
2020-04-25 22:12:35 +00:00
pgenutil.pas
* delay setting of pd_body and pd_implement till the header of a generic
2020-06-30 20:36:51 +00:00
pinline.pas
* ensure that dispose(managed_ptr) does not result in multiple evaluations of
2020-06-21 15:10:38 +00:00
pkgutil.pas
* fix several double ;
2020-05-24 17:52:09 +00:00
pmodules.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
pp.lpi
* update version
2020-08-09 18:52:25 +00:00
pp.pas
Reorder and complete list of supported CPUs
2020-05-25 22:14:13 +00:00
pparautl.pas
* allow overloads with same result type for external Java classes due to Java supporting covariant return types for interfaces
2020-08-02 12:28:46 +00:00
ppc68k.lpi
ppc8086.lpi
ppcaarch64.lpi
ppcarm.lpi
+ makefiles use -Sew, so added to the project as well
2019-10-12 21:56:18 +00:00
ppcavr.lpi
ppcjvm.lpi
ppcmips64el.lpi
+ some basic stuff for mips64el
2020-06-07 20:04:17 +00:00
ppcmips.lpi
ppcmipsel.lpi
ppcppc64.lpi
ppcppc.lpi
ppcriscv32.lpi
ppcriscv64.lpi
ppcsparc64.lpi
ppcsparc.lpi
ppcx64.lpi
* unneeded changes reverted
2019-11-10 16:41:53 +00:00
ppcx64llvm.lpi
ppcxtensa.lpi
+ Xtensa: lazarus project
2020-03-20 22:34:30 +00:00
ppcz80.lpi
- removed the z80_internal_linker build mode from the lazarus project
2020-06-03 19:37:44 +00:00
ppheap.pas
ppu.pas
* increase PPU version so that 3.2.0 correctly ignores 3.3.1 PPUs instead of fatally failing on the extended header entry
2020-05-01 13:55:01 +00:00
procdefutil.pas
* correctly set the generic related defoptions for an outlined procdef
2020-06-13 18:42:26 +00:00
procinfo.pas
* Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines.
2020-06-20 18:34:26 +00:00
psabiehpi.pas
* Removed lot of unused local vars. It is useful to turn on the notes in options. :)
2020-01-28 18:45:33 +00:00
pstatmnt.pas
* 0 is a valid label in iso mode, resolves #37428
2020-08-11 12:05:13 +00:00
psub.pas
* Reverted accidentally committed files.
2020-08-13 18:48:19 +00:00
psystem.pas
* fix for Mantis #37251 : apply patches by Bi0T1N to implement the IsConstValue() intrinsic
2020-06-25 20:42:47 +00:00
ptconst.pas
* ensure that nothing assembly related is generated for generics when a typed constant (this also includes local variable initializations) are parsed
2019-11-21 21:44:16 +00:00
ptype.pas
* fix for Mantis #35140 : apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
2020-04-25 22:12:35 +00:00
raatt.pas
o patch for Xtensa by Christo Crause, resolves #37099
2020-06-21 14:51:40 +00:00
rabase.pas
rasm.pas
rautils.pas
* make local variables in assembler blocks working again after r44933
2020-06-20 20:17:53 +00:00
README.txt
rescmn.pas
+ add option -FF to force the use of fpcres as RC compiler
2020-08-12 19:08:25 +00:00
rgbase.pas
+ added the Z80 individual flag bits as subregisters
2020-05-11 19:17:31 +00:00
rgobj.pas
* In assembly comments include all used registers by a variable for 8/16 bit CPUs.
2020-08-06 17:57:30 +00:00
scandir.pas
* rename the ARM/AArch64-Darwin targets to ARM/AArch64-iOS
2020-07-10 21:52:24 +00:00
scanner.pas
* 8086: enable cs_force_far_calls when m_nested_procvars is enabled.
2020-08-16 10:34:23 +00:00
switches.pas
symbase.pas
* also check for Nil symtables in tsymtable.includeoption
2019-11-24 00:04:27 +00:00
symconst.pas
* Do not use the LOC_VOID location to indicate unused parameters.
2020-05-21 09:36:40 +00:00
symcreat.pas
- removed tabstractrecorddef.get_unit_symtable, which did not always return the unit
2020-05-13 21:46:29 +00:00
symdef.pas
* 8086: Fixed Ofs() for far routines.
2020-08-17 13:37:55 +00:00
symsym.pas
* revert part of r45810 which was accidently committed
2020-07-20 20:21:44 +00:00
symtable.pas
* variables can have the same name as the main program in iso mode, resolves #37322
2020-07-10 21:05:59 +00:00
symtype.pas
- removed tabstractrecorddef.get_unit_symtable, which did not always return the unit
2020-05-13 21:46:29 +00:00
symutil.pas
* added is_normal_fieldvarsym() helper and use it
2019-12-24 22:12:44 +00:00
syscinfo.pas
systems.inc
z80: preserve system ID and linker ID for the Amstrad CPC
2020-07-23 11:57:20 +00:00
systems.pas
* wlib: Explicitly specify the smallest possible record align to reduce the size of .a files.
2020-08-16 17:08:00 +00:00
tgobj.pas
tgobj: Change direction of stack.
2020-03-21 20:59:32 +00:00
tokens.pas
* fix for Mantis #37579 : mark the 'German' tokens with the characters they represent
2020-08-17 19:45:13 +00:00
triplet.pas
* mark all external assemblers using an LLVM tool using af_llvm
2020-07-19 14:30:35 +00:00
verbose.pas
version.pas
* Xtensa: set source_cpu_string
2020-04-26 17:23:24 +00:00
widestr.pas
* some cleanup
2019-12-23 21:52:06 +00:00
wpo.pas
wpobase.pas
wpoinfo.pas