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

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


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

static unsigned ByteReverseWord32() is called from 2 sites in this file.
    It appears to be inlineable (size = 15 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	rotlFixed() (1 times)

static unsigned long long ByteReverseWord64() is called from 1 sites in this file.
    It appears to be inlineable (size = 14 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	ByteReverseWord32() (2 times)

static void ByteReverseWords64() is called from 4 sites in this file.
    It appears to be inlineable (size = 29 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	ByteReverseWord64() (1 times)

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

extern int Sha512Final() is called from 1 sites in this file.
    It appears to be inlineable (size = 92 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	InitSha512() (1 times)
	memcpy() (1 times)
	Transform() (2 times)
	ByteReverseWords64() (3 times)
	memset() (2 times)
	AddLength() (1 times)

extern int Sha512Hash() is called from 0 sites in this file.
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	Sha512Final() (1 times)
	Sha512Update() (1 times)
	InitSha512() (1 times)

extern int Sha512Update() is called from 1 sites in this file.
    It appears to be inlineable (size = 48 units)
    It has 5 non-trivial scope blocks nested 5 deep.
    It calls these functions:
	AddLength() (1 times)
	Transform() (1 times)
	ByteReverseWords64() (1 times)
	memcpy() (1 times)
	min() (1 times)

static int Transform() is called from 3 sites in this file.
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	memset() (2 times)
	rotrFixed64() (160 times)
	memcpy() (1 times)

static unsigned min() is called from 1 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>

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

static unsigned long long rotrFixed64() is called from 160 sites in this file.
    It appears to be inlineable (size = 10 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	<NONE>


Results of interprocedural value propagation:

   static unsigned long long rotrFixed64() has these parameter attributes:
      unsigned long long y :  y <= 61uLL;  y >= 1uLL;

Results of interprocedural value propagation:

   static void ByteReverseWords64() has these parameter attributes:
      unsigned byteCount :  byteCount%16u == 0u;  byteCount <= 128u;  byteCount >= 64u;

Function rotlFixed() will be specialized on these parameters:
	[2] y == 16u;

Results of interprocedural value propagation:

   static unsigned rotlFixed() has these parameter attributes:
      unsigned y :        y == 16u;
Inlineable function will be suppressed: rotrFixed64()
Inlineable function will be suppressed: rotlFixed()
Inlineable function will be suppressed: min()
Inlineable function will be suppressed: ByteReverseWord64()
Inlineable function will be suppressed: AddLength()
Inlineable function will be suppressed: ByteReverseWord32()
Inlineable function will be suppressed: ByteReverseWords64()

These external functions are called but not defined here:
	memset()
	memcpy()


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


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

static int Transform() is called from 3 sites in this file.
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	rotrFixed64() (160 times)

There are 656 memory accesses with 3831 dependences.


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

extern int Sha512Update() is called from 1 sites in this file.
    It appears to be inlineable (size = 48 units)
    It has 5 non-trivial scope blocks nested 5 deep.
    It calls these functions:
	min() (1 times)
	ByteReverseWords64() (1 times)
	Transform() (1 times)
	AddLength() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:143-144 by factor 2.
Estimated speedup: 1.09x, code size increase: 1.93x (27:->52)

There are 15 memory accesses with 106 dependences.


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

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

There are 11 memory accesses with 0 dependences.


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

extern int Sha512Final() is called from 1 sites in this file.
    It appears to be inlineable (size = 92 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	AddLength() (1 times)
	ByteReverseWords64() (3 times)
	Transform() (2 times)
	InitSha512() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:143-144 by factor 2.
Estimated speedup: 1.09x, code size increase: 1.93x (27:->52)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:143-144 by factor 2.
Estimated speedup: 1.09x, code size increase: 1.93x (27:->52)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:143-144 by factor 2.
Estimated speedup: 1.09x, code size increase: 1.93x (27:->52)

There are 41 memory accesses with 339 dependences.


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

extern int Sha512Hash() is called from 0 sites in this file.
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	InitSha512() (1 times)
	Sha512Update() (1 times)
	Sha512Final() (1 times)

There are 0 memory accesses with 0 dependences.


== END OF INFO OUTPUT==
