TI ARM C/C++ Optimizer v5.1.6 Build Number 1OE9R-KDADEMDK-RTARQ-WAR-ZAZE_V_R_W ======File-level Analysis Summary====== extern int aes_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) AesCbcDecrypt() (1 times) AesCbcEncrypt() (1 times) AesSetKey() (2 times) extern int arc4_test() is called from 1 sites in this file. It has 4 non-trivial scope blocks nested 4 deep. It calls these functions: memcmp() (2 times) Arc4Process() (2 times) Arc4SetKey() (2 times) extern int blake2b_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Blake2bFinal() (1 times) Blake2bUpdate() (1 times) InitBlake2b() (1 times) extern int camellia_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: CamelliaSetIV() (3 times) CamelliaEncryptDirect() (1 times) CamelliaDecryptDirect() (1 times) CamelliaCbcEncrypt() (1 times) memcmp() (6 times) CamelliaCbcDecrypt() (1 times) CamelliaSetKey() (3 times) extern int chacha_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Chacha_Process() (2 times) Chacha_SetIV() (2 times) Chacha_SetKey() (2 times) memcpy() (3 times) memset() (2 times) extern void wolfcrypt_test() is called from 0 sites in this file. It appears to be inlineable (size = 284 units) It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: ecc_test() (1 times) pwdbased_test() (1 times) dsa_test() (1 times) dh_test() (1 times) rsa_test() (1 times) random_test() (1 times) camellia_test() (1 times) poly1305_test() (1 times) aes_test() (1 times) des3_test() (1 times) des_test() (1 times) chacha_test() (1 times) rabbit_test() (1 times) hc128_test() (1 times) arc4_test() (1 times) hmac_blake2b_test() (1 times) hmac_sha512_test() (1 times) hmac_sha256_test() (1 times) hmac_sha_test() (1 times) hmac_md5_test() (1 times) blake2b_test() (1 times) sha512_test() (1 times) sha256_test() (1 times) sha_test() (1 times) md4_test() (1 times) printf() (26 times) md5_test() (1 times) CheckRunTimeFastMath() (1 times) err_sys() (28 times) CheckRunTimeSettings() (1 times) extern int des3_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Des3_CbcDecrypt() (1 times) Des3_CbcEncrypt() (1 times) Des3_SetKey() (2 times) extern int des_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Des_CbcDecrypt() (1 times) Des_CbcEncrypt() (1 times) Des_SetKey() (2 times) extern int dh_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: FreeDhKey() (2 times) memcmp() (1 times) DhAgree() (2 times) DhGenerateKeyPair() (2 times) InitRng() (1 times) DhKeyDecode() (2 times) InitDhKey() (2 times) memcpy() (1 times) extern int dsa_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: FreeDsaKey() (1 times) DsaVerify() (1 times) DsaSign() (1 times) InitRng() (1 times) DsaPrivateKeyDecode() (1 times) InitDsaKey() (1 times) ShaFinal() (1 times) ShaUpdate() (1 times) InitSha() (1 times) memcpy() (1 times) extern int ecc_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: ecc_free() (3 times) ecc_export_private_only() (1 times) ecc_verify_hash() (1 times) ecc_sign_hash() (1 times) ecc_import_x963() (1 times) ecc_export_x963() (1 times) memcmp() (2 times) ecc_shared_secret() (3 times) ecc_make_key() (2 times) ecc_init() (3 times) InitRng() (1 times) static void err_sys() is called from 28 sites in this file. It appears to be inlineable (size = 12 units) It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: exit() (1 times) printf() (1 times) extern int hc128_test() is called from 1 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: extern int hmac_blake2b_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) HmacFinal() (1 times) HmacUpdate() (1 times) HmacSetKey() (1 times) strlen() (4 times) extern int hmac_md5_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) HmacFinal() (1 times) HmacUpdate() (1 times) HmacSetKey() (1 times) strlen() (4 times) extern int hmac_sha256_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) HmacFinal() (1 times) HmacUpdate() (1 times) HmacSetKey() (1 times) strlen() (4 times) extern int hmac_sha512_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) HmacFinal() (1 times) HmacUpdate() (1 times) HmacSetKey() (1 times) strlen() (4 times) extern int hmac_sha_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) HmacFinal() (1 times) HmacUpdate() (1 times) HmacSetKey() (1 times) strlen() (4 times) extern int md4_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Md4Final() (1 times) Md4Update() (1 times) InitMd4() (1 times) strlen() (7 times) extern int md5_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Md5Final() (1 times) Md5Update() (1 times) InitMd5() (1 times) strlen() (5 times) static int memcmp() is called from 39 sites in this file. It appears to be inlineable (size = 31 units) It has 4 non-trivial scope blocks nested 4 deep. It calls these functions: extern int pbkdf1_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) strlen() (1 times) PBKDF1() (1 times) extern int pbkdf2_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) strlen() (1 times) PBKDF2() (1 times) extern int pkcs12_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) PKCS12_PBKDF() (2 times) extern int poly1305_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Poly1305Final() (1 times) Poly1305Update() (1 times) Poly1305SetKey() (1 times) memset() (1 times) extern int pwdbased_test() is called from 1 sites in this file. It appears to be inlineable (size = 7 units) It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: pkcs12_test() (1 times) pbkdf2_test() (1 times) pbkdf1_test() (1 times) extern int rabbit_test() is called from 1 sites in this file. It has 4 non-trivial scope blocks nested 4 deep. It calls these functions: memcmp() (2 times) RabbitProcess() (2 times) RabbitSetKey() (2 times) memcpy() (3 times) memset() (1 times) extern int random_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: RNG_GenerateBlock() (1 times) InitRng() (1 times) extern int rsa_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: free() (1 times) FreeRsaKey() (1 times) RsaSSL_Verify() (1 times) memset() (1 times) RsaSSL_Sign() (1 times) memcmp() (2 times) RsaPrivateDecrypt() (1 times) RsaPublicEncrypt() (1 times) InitRng() (1 times) RsaPrivateKeyDecode() (1 times) InitRsaKey() (1 times) memcpy() (2 times) malloc() (1 times) strlen() (1 times) extern int sha256_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Sha256Final() (1 times) Sha256Update() (1 times) InitSha256() (1 times) strlen() (2 times) extern int sha512_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Sha512Final() (1 times) Sha512Update() (1 times) InitSha512() (1 times) strlen() (2 times) extern int sha_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) ShaFinal() (1 times) ShaUpdate() (1 times) InitSha() (1 times) strlen() (4 times) static unsigned strlen() is called from 43 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: Global variable is not referenced in this file: extern const int sizeof_server_cert_der_2048 extern const int sizeof_server_key_der_2048 extern const int sizeof_ca_cert_der_2048 extern const int sizeof_rsa_key_der_2048 extern const int sizeof_dsa_key_der_2048 extern const int sizeof_dh_key_der_2048 extern const int sizeof_client_cert_der_2048 extern const int sizeof_client_key_der_2048 These functions may be recursive: wolfcrypt_test() camellia_test() aes_test() chacha_test() arc4_test() blake2b_test() des3_test() des_test() dh_test() dsa_test() ecc_test() hmac_blake2b_test() hmac_md5_test() hmac_sha256_test() hmac_sha512_test() hmac_sha_test() md4_test() md5_test() poly1305_test() pwdbased_test() pkcs12_test() pbkdf2_test() pbkdf1_test() rabbit_test() random_test() rsa_test() sha256_test() sha512_test() sha_test() Inlineable function will be suppressed: strlen() Inlineable function will be suppressed: memcmp() Making this function inlineable: hc128_test() These external functions are called but not defined here: malloc() free() exit() printf() memset() memcpy() InitSha512() Sha512Update() Sha512Final() InitSha256() Sha256Update() Sha256Final() InitRsaKey() RsaPrivateKeyDecode() RsaPublicEncrypt() RsaPrivateDecrypt() RsaSSL_Sign() RsaSSL_Verify() FreeRsaKey() RNG_GenerateBlock() RabbitSetKey() RabbitProcess() Poly1305SetKey() Poly1305Update() Poly1305Final() PKCS12_PBKDF() PBKDF2() PBKDF1() InitMd5() Md5Update() Md5Final() InitMd4() Md4Update() Md4Final() HmacSetKey() HmacUpdate() HmacFinal() ecc_init() ecc_make_key() ecc_shared_secret() ecc_export_x963() ecc_import_x963() ecc_sign_hash() ecc_verify_hash() ecc_export_private_only() ecc_free() InitSha() ShaUpdate() ShaFinal() InitDsaKey() DsaPrivateKeyDecode() DsaSign() DsaVerify() FreeDsaKey() InitDhKey() DhKeyDecode() InitRng() DhGenerateKeyPair() DhAgree() FreeDhKey() Des_SetKey() Des_CbcEncrypt() Des_CbcDecrypt() Des3_SetKey() Des3_CbcEncrypt() Des3_CbcDecrypt() CheckRunTimeSettings() CheckRunTimeFastMath() Chacha_SetKey() Chacha_SetIV() Chacha_Process() CamelliaSetKey() CamelliaCbcDecrypt() CamelliaCbcEncrypt() CamelliaDecryptDirect() CamelliaEncryptDirect() CamelliaSetIV() InitBlake2b() Blake2bUpdate() Blake2bFinal() Arc4SetKey() Arc4Process() AesSetKey() AesCbcEncrypt() AesCbcDecrypt() The following variables will be grouped together to share a common base address. References in the source interlisting will look like "1$$.ivs2", "K$1->ivs2", "C$1->ivs2", "&1$$+8", and "C$1+8". --offset-- --size-- --variable-- 0 8 static const unsigned char ivs1$5[8] 8 8 static const unsigned char ivs2$6[8] 16 8 static const unsigned char ivs3$7[8] 24 8 static const unsigned char ivs4$8[8] 32 8 static const unsigned char $P$T0$9[8] 40 8 static const unsigned char $P$T1$10[8] 48 8 static const unsigned char $P$T2$11[8] 56 8 static const unsigned char $P$T3$12[8] 64 8 static const unsigned char $P$T5$14[8] 72 8 static const unsigned char $P$T6$15[8] 80 8 static const unsigned char $P$T27$52[8] 88 8 static const unsigned char $P$T29$54[8] 96 8 static const unsigned char $P$T33$58[8] 104 8 static const unsigned char $P$T36$61[8] 112 9 static const unsigned char $P$T32$57[9] 121 9 static const unsigned char $P$T35$60[9] 130 10 static const unsigned char $P$T26$51[10] 140 12 static const unsigned char $P$T17$26[12] 152 12 static const unsigned $P$T23$32[3] 164 12 static const unsigned char $P$T28$53[12] 176 16 static const unsigned char key4$4[16] 192 16 static const unsigned char $P$T13$22[16] 208 16 static const unsigned char $P$T18$27[16] 224 16 static const unsigned char $P$T19$28[16] 240 16 static const unsigned char $P$T20$29[16] 256 16 static const unsigned char pte$33[16] 272 16 static const unsigned char ive$34[16] 288 16 static const unsigned char k1$35[16] 304 16 static const unsigned char c1$36[16] 320 16 static const unsigned char c2$38[16] 336 16 static const unsigned char c3$40[16] 352 16 static const unsigned char ptc$41[16] 368 16 static const unsigned char ivc$42[16] 384 16 static const unsigned char k4$43[16] 400 16 static const unsigned char c4$44[16] 416 16 static const unsigned char c5$46[16] 432 16 static const unsigned char c6$48[16] 448 16 static const unsigned char $P$T37$62[16] 464 20 static const unsigned char $P$T14$23[20] 484 20 static const unsigned char $P$T15$24[20] 504 24 static const unsigned char $P$T4$13[24] 528 24 static const unsigned char $P$T7$16[24] 552 24 static const unsigned char $P$T8$17[24] 576 24 static const unsigned char $P$T9$18[24] 600 24 static const unsigned char $P$T10$19[24] 624 24 static const unsigned char $P$T11$20[24] 648 24 static const unsigned char $P$T12$21[24] 672 24 static const unsigned char k2$37[24] 696 24 static const unsigned char k5$45[24] 720 24 static const unsigned char $P$T30$55[24] 744 24 static const unsigned char $P$T31$56[24] 768 24 static const unsigned char $P$T34$59[24] 792 26 static const unsigned char $P$T25$50[26] 818 32 static const unsigned char key1$1[32] 850 32 static const unsigned char key2$2[32] 882 32 static const unsigned char key3$3[32] 914 32 static const unsigned char $P$T21$30[32] 946 32 static const unsigned char $P$T22$31[32] 978 32 static const unsigned char k3$39[32] 1010 32 static const unsigned char k6$47[32] 1042 34 static const unsigned char $P$T16$25[34] 1076 192 static const unsigned char blake2b_vec[3][64] 1268 268 extern const unsigned char dh_key_der_2048[268] 1536 336 static const struct $$fake4 $P$T24$49[12] 1872 835 extern const unsigned char dsa_key_der_2048[835] 2707 1192 extern const unsigned char client_key_der_2048[1192] 3899 1198 extern const unsigned char client_cert_der_2048[1198] ======= End file-level Analysis ======= ============================================================================== extern int sha_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (4 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 20. Estimated speedup: 1.49x, code size increase: 16.00x (5:->80) There are 63 memory accesses with 332 dependences. ============================================================================== extern int sha512_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (2 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 17 memory accesses with 22 dependences. ============================================================================== extern int sha256_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (2 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 17 memory accesses with 22 dependences. ============================================================================== extern int rsa_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (1 times) memcmp() (2 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 16 memory accesses with 7 dependences. ============================================================================== extern int random_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: There are 0 memory accesses with 0 dependences. ============================================================================== extern int rabbit_test() is called from 1 sites in this file. It has 4 non-trivial scope blocks nested 4 deep. It calls these functions: memcmp() (2 times) The following local variables in rabbit_test() 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 Rabbit dec [C:/wolfssl/wolfcrypt/test/test.c:1807] 136 O$1.s3_1.l3_3 struct Rabbit enc [C:/wolfssl/wolfcrypt/test/test.c:1806] Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 38 memory accesses with 128 dependences. ============================================================================== extern int pbkdf1_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (1 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) There are 39 memory accesses with 17 dependences. ============================================================================== extern int pbkdf2_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (1 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 24. Estimated speedup: 1.49x, code size increase: 19.20x (5:->96) There are 55 memory accesses with 25 dependences. ============================================================================== extern int pkcs12_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 24. Estimated speedup: 1.49x, code size increase: 19.20x (5:->96) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 24. Estimated speedup: 1.49x, code size increase: 19.20x (5:->96) There are 108 memory accesses with 48 dependences. ============================================================================== extern int pwdbased_test() is called from 1 sites in this file. It appears to be inlineable (size = 7 units) It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: pbkdf1_test() (1 times) pbkdf2_test() (1 times) pkcs12_test() (1 times) There are 0 memory accesses with 0 dependences. ============================================================================== extern int poly1305_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) There are 61 memory accesses with 282 dependences. ============================================================================== extern int md5_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (5 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) There are 60 memory accesses with 335 dependences. ============================================================================== extern int md4_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (7 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) There are 70 memory accesses with 469 dependences. ============================================================================== extern int hmac_sha_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (4 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 20. Estimated speedup: 1.49x, code size increase: 16.00x (5:->80) There are 63 memory accesses with 327 dependences. ============================================================================== extern int hmac_sha512_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (4 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 27 memory accesses with 57 dependences. ============================================================================== extern int hmac_sha256_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (4 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 27 memory accesses with 57 dependences. ============================================================================== extern int hmac_md5_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (4 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) There are 55 memory accesses with 267 dependences. ============================================================================== extern int hmac_blake2b_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: strlen() (4 times) memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 27 memory accesses with 57 dependences. ============================================================================== extern int hc128_test() is called from 1 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: There are 0 memory accesses with 0 dependences. ============================================================================== extern int ecc_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) Unrolling 'for' loop on 'i' at lines C:/wolfssl/wolfcrypt/test/test.c:4478-4479 completely by factor 20. Estimated speedup: 6.67x, code size increase: 5.00x (4:->20) There are 52 memory accesses with 39 dependences. ============================================================================== extern int dsa_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: There are 2 memory accesses with 0 dependences. ============================================================================== extern int dh_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 16 memory accesses with 0 dependences. ============================================================================== extern int des_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 24. Estimated speedup: 1.49x, code size increase: 19.20x (5:->96) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 24. Estimated speedup: 1.49x, code size increase: 19.20x (5:->96) There are 104 memory accesses with 48 dependences. ============================================================================== extern int des3_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 24. Estimated speedup: 1.49x, code size increase: 19.20x (5:->96) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 24. Estimated speedup: 1.49x, code size increase: 19.20x (5:->96) There are 104 memory accesses with 48 dependences. ============================================================================== static void err_sys() is called from 28 sites in this file. It appears to be inlineable (size = 12 units) It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: There are 0 memory accesses with 0 dependences. ============================================================================== extern int blake2b_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (1 times) Unrolling 'for' loop on 'i' at lines C:/wolfssl/wolfcrypt/test/test.c:942-943 by factor 4. Estimated speedup: 1.47x, code size increase: 2.50x (4:->10) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 8 memory accesses with 0 dependences. ============================================================================== extern int arc4_test() is called from 1 sites in this file. It has 4 non-trivial scope blocks nested 4 deep. It calls these functions: memcmp() (2 times) The following local variables in arc4_test() 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 Arc4 dec [C:/wolfssl/wolfcrypt/test/test.c:1644] 260 O$1.s3_1.l3_3 struct Arc4 enc [C:/wolfssl/wolfcrypt/test/test.c:1643] Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 by factor 2. Estimated speedup: 1.13x, code size increase: 1.80x (5:->9) There are 40 memory accesses with 152 dependences. ============================================================================== extern int chacha_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 8. Estimated speedup: 1.48x, code size increase: 6.40x (5:->32) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 8. Estimated speedup: 1.48x, code size increase: 6.40x (5:->32) There are 57 memory accesses with 148 dependences. ============================================================================== extern int aes_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (2 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) There are 72 memory accesses with 32 dependences. ============================================================================== extern int camellia_test() is called from 1 sites in this file. It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: memcmp() (6 times) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) Unrolling 'while' loop on 'n' at lines c:/ti/ccsv6/tools/compiler/arm_5.1.6/include/string.h:272-272 completely by factor 16. Estimated speedup: 1.49x, code size increase: 12.80x (5:->64) There are 255 memory accesses with 3365 dependences. ============================================================================== extern void wolfcrypt_test() is called from 0 sites in this file. It appears to be inlineable (size = 284 units) It has 3 non-trivial scope blocks nested 3 deep. It calls these functions: err_sys() (28 times) md5_test() (1 times) md4_test() (1 times) sha_test() (1 times) sha256_test() (1 times) sha512_test() (1 times) blake2b_test() (1 times) hmac_md5_test() (1 times) hmac_sha_test() (1 times) hmac_sha256_test() (1 times) hmac_sha512_test() (1 times) hmac_blake2b_test() (1 times) arc4_test() (1 times) hc128_test() (1 times) rabbit_test() (1 times) chacha_test() (1 times) des_test() (1 times) des3_test() (1 times) aes_test() (1 times) poly1305_test() (1 times) camellia_test() (1 times) random_test() (1 times) rsa_test() (1 times) dh_test() (1 times) dsa_test() (1 times) pwdbased_test() (1 times) ecc_test() (1 times) There are 2 memory accesses with 1 dependences. == END OF INFO OUTPUT==