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 1 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 void ByteReverseWords() 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:
	ByteReverseWord32() (1 times)

extern int InitSha256() 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 Sha256Final() is called from 1 sites in this file.
    It appears to be inlineable (size = 96 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	InitSha256() (1 times)
	memcpy() (3 times)
	Transform() (2 times)
	ByteReverseWords() (3 times)
	memset() (2 times)
	AddLength() (1 times)

extern int Sha256Hash() is called from 0 sites in this file.
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	Sha256Final() (1 times)
	Sha256Update() (1 times)
	InitSha256() (1 times)

extern int Sha256Update() 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)
	ByteReverseWords() (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:
	rotrFixed() (52 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 rotrFixed() is called from 52 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 rotrFixed() has these parameter attributes:
      unsigned y :        y <= 25u;  y >= 2u;

Results of interprocedural value propagation:

   static void ByteReverseWords() has these parameter attributes:
      unsigned byteCount :  byteCount%32u == 0u;  byteCount <= 64u;  byteCount >= 32u;

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: rotrFixed()
Inlineable function will be suppressed: rotlFixed()
Inlineable function will be suppressed: min()
Inlineable function will be suppressed: ByteReverseWord32()
Inlineable function will be suppressed: AddLength()
Inlineable function will be suppressed: ByteReverseWords()

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:
	rotrFixed() (52 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/sha256.c:151-152 completely by factor 8.
Estimated speedup: 3.29x, code size increase: 4.00x (4:->16)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/sha256.c:154-155 completely by factor 16.
Estimated speedup: 3.39x, code size increase: 8.00x (4:->32)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/sha256.c:157-158 by factor 2.
Estimated speedup: 1.05x, code size increase: 1.94x (32:->62)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/sha256.c:172-174 completely by factor 8.
Estimated speedup: 2.18x, code size increase: 5.17x (6:->31)

There are 74 memory accesses with 80 dependences.


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

extern int Sha256Update() 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)
	ByteReverseWords() (1 times)
	Transform() (1 times)
	AddLength() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:102-103 by factor 4.
Estimated speedup: 1.19x, code size increase: 3.57x (14:->50)

There are 15 memory accesses with 116 dependences.


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

extern int InitSha256() 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 Sha256Final() is called from 1 sites in this file.
    It appears to be inlineable (size = 96 units)
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	AddLength() (1 times)
	ByteReverseWords() (3 times)
	Transform() (2 times)
	InitSha256() (1 times)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:102-103 by factor 4.
Estimated speedup: 1.19x, code size increase: 3.57x (14:->50)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:102-103 by factor 4.
Estimated speedup: 1.19x, code size increase: 3.57x (14:->50)
Unrolling 'for' loop on 'i' at lines C:/cyassl/ctaocrypt/src/misc.c:102-103 completely by factor 8.
Estimated speedup: 1.40x, code size increase: 6.86x (14:->96)

There are 45 memory accesses with 241 dependences.


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

extern int Sha256Hash() is called from 0 sites in this file.
    It has 3 non-trivial scope blocks nested 3 deep.
    It calls these functions:
	InitSha256() (1 times)
	Sha256Update() (1 times)
	Sha256Final() (1 times)

There are 0 memory accesses with 0 dependences.


== END OF INFO OUTPUT==
