TI ARM C/C++ Optimizer                  v5.1.6
Build Number 1OE9R-KDADEMDK-RTARQ-WAR-ZAZE_V_R_W

		======File-level Analysis Summary======


extern int FreeRsaKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 2 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

extern int InitRsaKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 9 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

extern int RsaEncryptSize() is called from 0 sites in this file.
    It appears to be inlineable (size = 4 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	mp_unsigned_bin_size() (1 times)

static int RsaFunction() is called from 4 sites in this file.
    It has 4 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	mp_to_unsigned_bin() (1 times)
	mp_unsigned_bin_size() (2 times)
	mp_clear() (4 times)
	mp_add() (1 times)
	mp_mul() (1 times)
	mp_mulmod() (1 times)
	mp_sub() (1 times)
	mp_exptmod() (3 times)
	mp_read_unsigned_bin() (1 times)
	mp_init() (3 times)

static int RsaPad() is called from 2 sites in this file.
    It appears to be inlineable (size = 80 units)
    It has 4 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	memcpy() (1 times)
	memset() (1 times)
	RNG_GenerateBlock() (1 times)

extern int RsaPrivateDecrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 53 units)
    It has 5 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	CyaSSL_Free() (2 times)
	memset() (1 times)
	RsaPrivateDecryptInline() (1 times)
	memcpy() (2 times)
	CyaSSL_Malloc() (1 times)

extern int RsaPrivateDecryptInline() is called from 1 sites in this file.
    It appears to be inlineable (size = 24 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaUnPad() (1 times)
	RsaFunction() (1 times)

extern int RsaPublicEncrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 50 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaFunction() (1 times)
	RsaPad() (1 times)
	mp_unsigned_bin_size() (1 times)

extern int RsaSSL_Sign() is called from 0 sites in this file.
    It appears to be inlineable (size = 50 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaFunction() (1 times)
	RsaPad() (1 times)
	mp_unsigned_bin_size() (1 times)

extern int RsaSSL_Verify() is called from 0 sites in this file.
    It appears to be inlineable (size = 53 units)
    It has 5 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	CyaSSL_Free() (2 times)
	memset() (1 times)
	RsaSSL_VerifyInline() (1 times)
	memcpy() (2 times)
	CyaSSL_Malloc() (1 times)

extern int RsaSSL_VerifyInline() is called from 1 sites in this file.
    It appears to be inlineable (size = 24 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaUnPad() (1 times)
	RsaFunction() (1 times)

static int RsaUnPad() is called from 2 sites in this file.
    It appears to be inlineable (size = 89 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>


These functions may be recursive:
	RsaEncryptSize()
	RsaPrivateDecrypt()
	RsaPrivateDecryptInline()
	RsaPublicEncrypt()
	RsaSSL_Sign()
	RsaPad()
	RsaSSL_Verify()
	RsaSSL_VerifyInline()
	RsaFunction()

Results of interprocedural value propagation:

   static int RsaPad() has these parameter attributes:
      int padValue :      padValue <= 2;  padValue >= 1;

Results of interprocedural value propagation:

   static int RsaUnPad() has these parameter attributes:
      int padValue :      padValue <= 2;  padValue >= 1;

Results of interprocedural value propagation:

   static int RsaFunction() has these parameter attributes:
      int type :          type <= 3;  type >= 0;

These external functions are called but not defined here:
	memset()
	memcpy()
	CyaSSL_Malloc()
	CyaSSL_Free()
	RNG_GenerateBlock()
	mp_init()
	mp_read_unsigned_bin()
	mp_exptmod()
	mp_sub()
	mp_mulmod()
	mp_mul()
	mp_add()
	mp_clear()
	mp_to_unsigned_bin()
	mp_unsigned_bin_size()


		======= End file-level Analysis =======


==============================================================================

static int RsaFunction() is called from 4 sites in this file.
    It has 4 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	<NONE>

The following local variables in RsaFunction() will be grouped together
to share stack space among distinct scoping blocks.  References
in the source interlisting will look like "O$1.s3_1.l3_2" or "&$O$O1+0".

    --offset--    --reference--			 --variable--

          0	  O$1.s3_1.l3_2                  struct $$fake0 tmpb  [C:/cyassl/ctaocrypt/src/rsa.c:220]
        552	  O$1.s3_1.l3_3                  struct $$fake0 tmpa  [C:/cyassl/ctaocrypt/src/rsa.c:220]

Unrolling 'while' loop on 'len' at lines C:/cyassl/ctaocrypt/src/rsa.c:274-277 by factor 4.
Estimated speedup: 1.20x, code size increase: 4.00x (3:->12)

There are 6 memory accesses with 1 dependences.


==============================================================================

static int RsaUnPad() is called from 2 sites in this file.
    It appears to be inlineable (size = 89 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

There are 5 memory accesses with 4 dependences.


==============================================================================

extern int RsaSSL_VerifyInline() is called from 1 sites in this file.
    It appears to be inlineable (size = 24 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaFunction() (1 times)
	RsaUnPad() (1 times)

There are 2 memory accesses with 0 dependences.


==============================================================================

extern int RsaSSL_Verify() is called from 0 sites in this file.
    It appears to be inlineable (size = 53 units)
    It has 5 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	RsaSSL_VerifyInline() (1 times)

There are 2 memory accesses with 1 dependences.


==============================================================================

static int RsaPad() is called from 2 sites in this file.
    It appears to be inlineable (size = 80 units)
    It has 4 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	<NONE>
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/rsa.c:149-150 by factor 2.
Estimated speedup: 1.14x, code size increase: 1.67x (6:->10)

There are 9 memory accesses with 30 dependences.


==============================================================================

extern int RsaSSL_Sign() is called from 0 sites in this file.
    It appears to be inlineable (size = 50 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaPad() (1 times)
	RsaFunction() (1 times)

There are 1 memory accesses with 0 dependences.


==============================================================================

extern int RsaPublicEncrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 50 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaPad() (1 times)
	RsaFunction() (1 times)

There are 1 memory accesses with 0 dependences.


==============================================================================

extern int RsaPrivateDecryptInline() is called from 1 sites in this file.
    It appears to be inlineable (size = 24 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	RsaFunction() (1 times)
	RsaUnPad() (1 times)

There are 2 memory accesses with 0 dependences.


==============================================================================

extern int RsaPrivateDecrypt() is called from 0 sites in this file.
    It appears to be inlineable (size = 53 units)
    It has 5 non-trivial scope blocks nested 4 deep.
    It calls these functions:
	RsaPrivateDecryptInline() (1 times)

There are 2 memory accesses with 1 dependences.


==============================================================================

extern int RsaEncryptSize() is called from 0 sites in this file.
    It appears to be inlineable (size = 4 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

There are 0 memory accesses with 0 dependences.


==============================================================================

extern int InitRsaKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 9 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

There are 2 memory accesses with 0 dependences.


==============================================================================

extern int FreeRsaKey() is called from 0 sites in this file.
    It appears to be inlineable (size = 2 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>

There are 0 memory accesses with 0 dependences.


== END OF INFO OUTPUT==
