
System LSI Division, Semiconductor Business
18 Property of Samsung Electronics Co., Ltd.
5.2 Language tools
5.2.1 Compiler – UCC.exe
- [FIX] re-fix of bugfix of CSE optimization from (1.06d-1.06f) versions :
there was generation of slow code in some cases on Ospeed.
- [NEW] PA-like optimization is implemented in compiler to replace --PA
option, which requires 3rd party tool PA.exe. It could be activated with -
Osize(+PAI). (SecuCalm only)
- [NEW] A number of size optimizations is implemented.
- [FIX] Refix of ‘Can't allocate register variable (Case #1)’ internal error for
more complex expressions.
- [FIX] Fix of ‘Can't allocate register variable (Case #1)’ internal error.
- [NEW] Optimization of bitshift operations.
- [FIX] Fix of ‘duplicate symbol’ error for inline functions.
- [FIX] Inline of functions with low level __asm(“…”) inside is re-enabled.
- [FIX] General fix of processing of temporal variables in Common
Subexpression Elimination (CSE).
- [FIX] One more bugfix of Common Subexpression Elimination (CSE)
optimization on Ospeed.
- [FIX] One more bugfix of Common Subexpression Elimination (CSE)
optimization on Ospeed.
- [FIX] Optimizing algorithm of estimation of range of function return value
(EVR) is fixed for the case of functions with low level __asm(“”) code
inside.
- [FIX] Inlining algorithm is fixed for the case of inlining of functions with
low level __asm(“”) code inside.
- [FIX] Bugfix of one of optimizations on Ospeed (Common Subexpression
Elimination).
- [FIX] Debug information is fixed for variables watch window.
- [NEW] New optimization SizeInline is implemented. The code of called
functions is inlined whenever it allows to reduce the size of result code.
- [NEW] New optimization FRVR is implemented. If the result of called
function is obvious (like return 0), then it can be used as a known constant
by compiler during the optimizations.
- [NEW] New optimization is implemented. Code of assignments of
constants into long variables is optimized.
- [FIX] Bug with missing instruction like “ldw a13, @[a10 + 2]” was fixed for
code with call of function pointer and low level __asm(“”) instruction after
it.
Comentarios a estos manuales