This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Code getting optimized away after instrumenation for memory analysis


Hi,

Thanks for looking at this problem.

The points-to set says :

D.2383 = { ANYTHING ANYOFFSET }

Here is the shortened .alias1 dump. If you need the whole thing (its
2000 lines), I can send that as well.

Please grep for D.2383, to see all info about it.

Dereferences pointers doesnot show D.2383 as one.

Should I attach the whole .alias1 and .dce1 and send? Just thought
this might be sufficient.

All __taint_* are functions and variables inserted by my instrumentation.



Thanks,
Prateek.


===========

main ()
{

  int D.2385;
  int D.2384;
  int * D.2383;
  unsigned int __taint_addr.88;
  int * __taint_addr.89;
  unsigned int __taint_addr.90;
  void * __taint_addr.91;
  int * __taint_addr.92;
  unsigned int __taint_addr.93;
  unsigned int __taint_addr.124;
  int * __taint_addr.125;
  int * __taint_addr.128;
  unsigned int __taint_addr.129;
  void * __taint_addr.130;
  void * D.3102;
  void * __taint_addr.131;
  void * D.3104;
  unsigned int __taint_addr.132;
  int __taint_addr.140;

<bb 0>:
....

  goto <bb 4> (<L3>);

<L0>:;
   ....

  __taint_addr.88_129 = &D.2383;
   ....

  taint_assmt_handler (__taint_addr.88_129, 4, __taint_addr.95_139);

  D.2383 = __taint_addr.89_130 + __taint_addr.92_134;

  D.3057_142 = D.2383;
  D.3058_143 = taint_get_tag_val (D.3057_142, 4);

	....

  D.2384 = *D.2383;

	...
  if (__taint_addr.102_152 == __taint_addr.103_153) goto <L1>; else goto <L2>;

<L1>:;

	....
  __taint_addr.124_294 = &D.2383;
  taint_assmt_handler (__taint_addr.124_294, 4, __taint_addr.131_304);

  D.2383 = __taint_addr.125_295 + __taint_addr.128_299;
  D.3057_307 = D.2383;
  D.3107_308 = taint_get_tag_val (D.3057_307, 4);
  __taint_addr.133_309 = D.3107_308;
  taint_assmt_handler (__taint_addr.132_306, 4, __taint_addr.133_309);
  D.2384 = *D.2383;

  __taint_addr.135_312 = D.2384;

	...

  D.2385 = __taint_addr.135_312 + 1;
  __taint_addr.140_321 = D.2385;

	....
  *D.2383 = __taint_addr.140_321;
  goto <bb 4> (<L3>);

<L2>:;

	... some similar instrumentation here as under <L1>:
....
  *D.2383 = __taint_addr.207_257;

<L3>:;
  __taint_addr.210_106 = k;
  if (__taint_addr.210_106 != 0) goto <L0>; else goto <L5>;

<L5>:;
  return;

}


Points-to analysis

Constraints:

ANYTHING = &ANYTHING
READONLY = &ANYTHING
INTEGER = &ANYTHING
ANYOFFSET = &ANYOFFSET
D.2963_15 = &ANYTHING
__taint_addr.31_16 = D.2963_15
D.2965_19 = INTEGER
D.2965_19 = INTEGER
__taint_addr.32_20 = D.2965_19
__taint_addr.32_20 = &ANYOFFSET
D.2382 = &ANYTHING
__taint_addr.89_130 = D.2382
__taint_addr.91_133 = D.3048_132
__taint_addr.92_134 = x
__taint_addr.94_137 = D.3052_136
__taint_addr.95_139 = D.3054_138
__taint_addr.97_144 = D.3058_143
__taint_addr.101_150 = D.3063_149
__taint_addr.107_266 = D.3070_265
__taint_addr.108_268 = D.3072_267
__taint_addr.109_270 = D.3074_269
__taint_addr.113_276 = D.3079_275
__taint_addr.117_282 = D.3084_281
__taint_addr.118_284 = D.3086_283
__taint_addr.119_286 = D.3088_285
__taint_addr.123_292 = D.3093_291
D.2382 = &ANYTHING
__taint_addr.125_295 = D.2382
__taint_addr.127_298 = D.3098_297
__taint_addr.128_299 = x
D.2383 = __taint_addr.125_295
D.2383 = &ANYOFFSET
D.3057_307 = D.2383
D.3107_308 = &ANYTHING
__taint_addr.133_309 = D.3107_308
D.3114_316 = &ANYTHING
__taint_addr.139_319 = D.3116_318
__taint_addr.142_324 = D.3120_323
__taint_addr.146_158 = D.3125_157
D.3127_159 = &ANYTHING
__taint_addr.147_160 = D.3127_159
D.3129_161 = &ANYTHING
__taint_addr.148_162 = D.3129_161
D.3134_167 = &ANYTHING
__taint_addr.152_168 = D.3134_167
D.3139_173 = &ANYTHING
__taint_addr.156_174 = D.3139_173
D.3141_175 = &ANYTHING
__taint_addr.157_176 = D.3141_175
D.3143_177 = &ANYTHING
__taint_addr.158_178 = D.3143_177
D.3148_183 = &ANYTHING
__taint_addr.162_184 = D.3148_183
D.2382 = &ANYTHING
__taint_addr.164_187 = D.2382
D.3153_189 = &ANYTHING
__taint_addr.166_190 = D.3153_189
__taint_addr.167_191 = x
D.3157_193 = &ANYTHING
__taint_addr.169_194 = D.3157_193
D.3159_195 = &ANYTHING
__taint_addr.170_196 = D.3159_195
D.2383 = __taint_addr.164_187
D.2383 = &ANYOFFSET
D.3164_201 = &ANYTHING
__taint_addr.174_202 = D.3164_201
D.3169_207 = &ANYTHING
__taint_addr.178_208 = D.3169_207
D.3171_209 = &ANYTHING
__taint_addr.179_210 = D.3171_209
D.3173_211 = &ANYTHING
__taint_addr.180_212 = D.3173_211
D.3178_217 = &ANYTHING
__taint_addr.184_218 = D.3178_217
D.2386 = &ANYTHING
__taint_addr.186_221 = D.2386
D.3183_223 = &ANYTHING
__taint_addr.188_224 = D.3183_223
__taint_addr.189_225 = x
D.3187_227 = &ANYTHING
__taint_addr.191_228 = D.3187_227
D.3189_229 = &ANYTHING
__taint_addr.192_230 = D.3189_229
D.2387 = __taint_addr.186_221
D.2387 = &ANYOFFSET
__taint_addr.194_233 = D.2387
D.3194_235 = &ANYTHING
__taint_addr.196_236 = D.3194_235
D.3196_237 = &ANYTHING
__taint_addr.197_238 = D.3196_237
D.3198_239 = &ANYTHING
__taint_addr.198_240 = D.3198_239
D.2388 = __taint_addr.194_233
D.2388 = &ANYTHING
D.3201_243 = D.2388
D.3202_244 = &ANYTHING
__taint_addr.209_260 = D.3215_259
D.3057_261 = D.2383

Collapsing static cycles and doing variable substitution:

Solving graph:

Points-to sets

NULL = { }
ANYTHING = { ANYTHING }
READONLY = { ANYTHING }
INTEGER = { ANYTHING }
ANYOFFSET = { ANYOFFSET }
D.2963_15 = { ANYTHING }
__taint_addr.31_16 = { ANYTHING }
D.2965_19 = { ANYTHING }
__taint_addr.32_20 = { ANYTHING ANYOFFSET }
D.2967_21 = { ANYTHING }
__taint_addr.33_22 = { ANYTHING }
__taint_retned_tag.34_23 = { ANYTHING }
D.2970_24 = { ANYTHING }
__taint_addr.35_25 = { ANYTHING ANYOFFSET }
D.2972_26 = { ANYTHING }
__taint_addr.36_27 = { ANYTHING }
__taint_retned_tag.37_28 = { ANYTHING }
D.2978_33 = { ANYTHING }
__taint_addr.41_34 = { ANYTHING }
D.2983_40 = { ANYTHING }
__taint_addr.45_41 = { ANYTHING }
D.2985_42 = { ANYTHING }
__taint_addr.46_43 = { ANYTHING }
D.2987_44 = { ANYTHING }
__taint_addr.47_45 = { ANYTHING }
D.2992_51 = { ANYTHING }
__taint_addr.51_52 = { ANYTHING }
D.2994_53 = { ANYTHING }
__taint_addr.52_54 = { ANYTHING }
D.2996_55 = { ANYTHING }
__taint_addr.53_56 = { ANYTHING }
D.3001_62 = { ANYTHING }
__taint_addr.57_63 = { ANYTHING }
D.3005_68 = { ANYTHING }
__taint_addr.60_69 = { ANYTHING }
D.2378 = { HEAP.686 }
HEAP.686 = { ANYTHING }
__taint_retned_tag.61_73 = { ANYTHING }
__taint_addr.64_75 = { HEAP.686 }
D.3012_77 = { ANYTHING }
__taint_addr.66_78 = { ANYTHING }
x = { HEAP.686 }
__taint_addr.68_82 = { HEAP.686 }
D.3017_84 = { ANYTHING }
__taint_addr.70_85 = { ANYTHING }
D.3019_86 = { ANYTHING }
__taint_addr.71_87 = { ANYTHING }
D.3021_88 = { ANYTHING }
__taint_addr.72_89 = { ANYTHING }
D.2379 = { ANYOFFSET HEAP.686 }
D.3023_92 = { ANYTHING }
__taint_addr.73_93 = { ANYTHING }
D.3024_94 = { ANYOFFSET HEAP.686 }
D.3029_110 = { ANYTHING }
__taint_addr.77_111 = { ANYTHING }
D.3034_116 = { ANYTHING }
__taint_addr.81_117 = { ANYTHING }
D.3036_118 = { ANYTHING }
__taint_addr.82_119 = { ANYTHING }
D.3038_120 = { ANYTHING }
__taint_addr.83_121 = { ANYTHING }
D.3043_126 = { ANYTHING }
__taint_addr.87_127 = { ANYTHING }
D.2382 = { ANYTHING }
__taint_addr.89_130 = { ANYTHING }
D.3048_132 = { ANYTHING }
__taint_addr.91_133 = { ANYTHING }
__taint_addr.92_134 = { HEAP.686 }
D.3052_136 = { ANYTHING }
__taint_addr.94_137 = { ANYTHING }
D.3054_138 = { ANYTHING }
__taint_addr.95_139 = { ANYTHING }
D.2383 = { ANYTHING ANYOFFSET }
D.3057_142 = { ANYTHING ANYOFFSET }
D.3058_143 = { ANYTHING }
__taint_addr.97_144 = { ANYTHING }
D.3063_149 = { ANYTHING }
__taint_addr.101_150 = { ANYTHING }
D.3070_265 = { ANYTHING }
__taint_addr.107_266 = { ANYTHING }
D.3072_267 = { ANYTHING }
__taint_addr.108_268 = { ANYTHING }
D.3074_269 = { ANYTHING }
__taint_addr.109_270 = { ANYTHING }
D.3079_275 = { ANYTHING }
__taint_addr.113_276 = { ANYTHING }
D.3084_281 = { ANYTHING }
__taint_addr.117_282 = { ANYTHING }
D.3086_283 = { ANYTHING }
__taint_addr.118_284 = { ANYTHING }
D.3088_285 = { ANYTHING }
__taint_addr.119_286 = { ANYTHING }
D.3093_291 = { ANYTHING }
__taint_addr.123_292 = { ANYTHING }
__taint_addr.125_295 = { ANYTHING }
D.3098_297 = { ANYTHING }
__taint_addr.127_298 = { ANYTHING }
__taint_addr.128_299 = { HEAP.686 }
D.3102_301 = { ANYTHING }
__taint_addr.130_302 = { ANYTHING }
D.3104_303 = { ANYTHING }
__taint_addr.131_304 = { ANYTHING }
D.3057_307 = { ANYTHING ANYOFFSET }
D.3107_308 = { ANYTHING }
__taint_addr.133_309 = { ANYTHING }
D.3112_314 = { ANYTHING }
__taint_addr.137_315 = { ANYTHING }
D.3114_316 = { ANYTHING }
__taint_addr.138_317 = { ANYTHING }
D.3116_318 = { ANYTHING }
__taint_addr.139_319 = { ANYTHING }
D.3120_323 = { ANYTHING }
__taint_addr.142_324 = { ANYTHING }
D.3057_325 = { ANYTHING ANYOFFSET }
D.3125_157 = { ANYTHING }
__taint_addr.146_158 = { ANYTHING }
D.3127_159 = { ANYTHING }
__taint_addr.147_160 = { ANYTHING }
D.3129_161 = { ANYTHING }
__taint_addr.148_162 = { ANYTHING }
D.3134_167 = { ANYTHING }
__taint_addr.152_168 = { ANYTHING }
D.3139_173 = { ANYTHING }
__taint_addr.156_174 = { ANYTHING }
D.3141_175 = { ANYTHING }
__taint_addr.157_176 = { ANYTHING }
D.3143_177 = { ANYTHING }
__taint_addr.158_178 = { ANYTHING }
D.3148_183 = { ANYTHING }
__taint_addr.162_184 = { ANYTHING }
__taint_addr.164_187 = { ANYTHING }
D.3153_189 = { ANYTHING }
__taint_addr.166_190 = { ANYTHING }
__taint_addr.167_191 = { HEAP.686 }
D.3157_193 = { ANYTHING }
__taint_addr.169_194 = { ANYTHING }
D.3159_195 = { ANYTHING }
__taint_addr.170_196 = { ANYTHING }
D.3164_201 = { ANYTHING }
__taint_addr.174_202 = { ANYTHING }
D.3169_207 = { ANYTHING }
__taint_addr.178_208 = { ANYTHING }
D.3171_209 = { ANYTHING }
__taint_addr.179_210 = { ANYTHING }
D.3173_211 = { ANYTHING }
__taint_addr.180_212 = { ANYTHING }
D.3178_217 = { ANYTHING }
__taint_addr.184_218 = { ANYTHING }
D.2386 = { ANYTHING }
__taint_addr.186_221 = { ANYTHING }
D.3183_223 = { ANYTHING }
__taint_addr.188_224 = { ANYTHING }
__taint_addr.189_225 = { HEAP.686 }
D.3187_227 = { ANYTHING }
__taint_addr.191_228 = { ANYTHING }
D.3189_229 = { ANYTHING }
__taint_addr.192_230 = { ANYTHING }
D.2387 = { ANYTHING ANYOFFSET }
__taint_addr.194_233 = { ANYTHING ANYOFFSET }
D.3194_235 = { ANYTHING }
__taint_addr.196_236 = { ANYTHING }
D.3196_237 = { ANYTHING }
__taint_addr.197_238 = { ANYTHING }
D.3198_239 = { ANYTHING }
__taint_addr.198_240 = { ANYTHING }
D.2388 = { ANYTHING ANYOFFSET }
D.3201_243 = { ANYTHING ANYOFFSET }
D.3202_244 = { ANYTHING }
__taint_addr.200_245 = { ANYTHING }
D.3207_250 = { ANYTHING }
__taint_addr.204_251 = { ANYTHING }
D.3209_252 = { ANYTHING }
__taint_addr.205_253 = { ANYTHING }
D.3211_254 = { ANYTHING }
__taint_addr.206_255 = { ANYTHING }
D.3215_259 = { ANYTHING }
__taint_addr.209_260 = { ANYTHING }
D.3057_261 = { ANYTHING ANYOFFSET }

main: Total number of aliased vops: 0

Referenced variables in main: 279

Variable: D.3054, UID 3054, void *

Variable: __taint_addr.105, UID 3067, int

Variable: __taint_addr.106, UID 3068, unsigned int

Variable: __taint_addr.107, UID 3069, void *, type memory tag: TMT.687

Variable: D.3070, UID 3070, void *

Variable: __taint_addr.108, UID 3071, void *, type memory tag: TMT.687

Variable: D.3072, UID 3072, void *

Variable: __taint_addr.109, UID 3073, void *, type memory tag: TMT.687

Variable: D.3074, UID 3074, void *

Variable: __taint_addr.110, UID 3075, unsigned int

Variable: __taint_addr.111, UID 3076, int

Variable: __taint_addr.112, UID 3077, unsigned int

Variable: __taint_addr.113, UID 3078, void *, type memory tag: TMT.687

Variable: D.3079, UID 3079, void *

Variable: __taint_addr.114, UID 3080, unsigned int

Variable: __taint_addr.115, UID 3081, unsigned int

Variable: __taint_addr.116, UID 3082, unsigned int

Variable: __taint_addr.117, UID 3083, void *, type memory tag: TMT.687

Variable: D.3084, UID 3084, void *

Variable: __taint_addr.118, UID 3085, void *, type memory tag: TMT.687

Variable: D.3086, UID 3086, void *

Variable: __taint_addr.119, UID 3087, void *, type memory tag: TMT.687

Variable: D.3088, UID 3088, void *

Variable: __taint_addr.120, UID 3089, unsigned int

Variable: __taint_addr.121, UID 3090, unsigned int

Variable: __taint_addr.122, UID 3091, unsigned int

Variable: __taint_addr.123, UID 3092, void *, type memory tag: TMT.687

Variable: D.3093, UID 3093, void *

Variable: __taint_addr.124, UID 3094, unsigned int

Variable: __taint_addr.125, UID 3095, int *

Variable: __taint_addr.126, UID 3096, unsigned int

Variable: __taint_addr.127, UID 3097, void *, type memory tag: TMT.687

Variable: D.3098, UID 3098, void *

Variable: __taint_addr.128, UID 3099, int *

Variable: __taint_addr.129, UID 3100, unsigned int

Variable: __taint_addr.130, UID 3101, void *, type memory tag: TMT.687

Variable: D.3102, UID 3102, void *

Variable: __taint_addr.131, UID 3103, void *, type memory tag: TMT.687

Variable: D.3104, UID 3104, void *

Variable: __taint_addr.132, UID 3105, unsigned int

Variable: __taint_addr.133, UID 3106, void *, type memory tag: TMT.687

Variable: D.3107, UID 3107, void *

Variable: __taint_addr.134, UID 3108, unsigned int

Variable: __taint_addr.135, UID 3109, int

Variable: __taint_addr.136, UID 3110, unsigned int

Variable: __taint_addr.137, UID 3111, void *, type memory tag: TMT.687

Variable: D.3112, UID 3112, void *

Variable: __taint_addr.138, UID 3113, void *, type memory tag: TMT.687

Variable: D.3114, UID 3114, void *

Variable: __taint_addr.139, UID 3115, void *, type memory tag: TMT.687

Variable: D.3116, UID 3116, void *

Variable: __taint_addr.140, UID 3117, int

Variable: D.3157, UID 3157, void *


Variable: __taint_addr.207, UID 3212, int


Variable: TMT.687, UID 4149, void, is addressable, is global, call
clobbered, may aliases: { HEAP.686 k n x n.10 D.2375 D.2376 D.2377
D.2378 D.2379 k.11 D.2381 D.2382 D.2383 D.2384 D.2385 D.2386 D.2387
D.2388 D.2389 D.2390 }

Variable: NMT.688, UID 4150, int, is addressable, is global, call
clobbered, may aliases: { HEAP.686 }

Variable: k, UID 2368, int, is an alias tag, is addressable, call
clobbered, default def: k_17

Variable: n, UID 2369, int, is an alias tag, is addressable, call
clobbered, default def: n_30

Variable: x, UID 2370, int *, is an alias tag, is addressable, call
clobbered, default def: x_79

Variable: n.10, UID 2374, int, is an alias tag, is addressable, call
clobbered, default def: n.10_35

Variable: D.2375, UID 2375, int, is an alias tag, is addressable, call
clobbered, default def: D.2375_46

Variable: D.2376, UID 2376, int, is an alias tag, is addressable, call
clobbered, default def: D.2376_57

Variable: D.2377, UID 2377, unsigned int, is an alias tag, is
addressable, call clobbered, default def: D.2377_64

Variable: D.2378, UID 2378, void *, is an alias tag, is addressable,
call clobbered, default def: D.2378_70

Variable: D.2379, UID 2379, int *, is an alias tag, is addressable,
call clobbered, default def: D.2379_90

Variable: k.11, UID 2380, unsigned int, is an alias tag, is
addressable, call clobbered, default def: k.11_105

Variable: D.2381, UID 2381, unsigned int, is an alias tag, is
addressable, call clobbered, default def: D.2381_104

Variable: D.2382, UID 2382, int *, is an alias tag, is addressable,
call clobbered, default def: D.2382_103

Variable: D.2383, UID 2383, int *, is an alias tag, is addressable,
call clobbered, default def: D.2383_102

Variable: D.2384, UID 2384, int, is an alias tag, is addressable, call
clobbered, default def: D.2384_101

Variable: D.2385, UID 2385, int, is an alias tag, is addressable, call
clobbered, default def: D.2385_100

Variable: D.2386, UID 2386, int *, is an alias tag, is addressable,
call clobbered, default def: D.2386_99

Variable: D.2387, UID 2387, int *, is an alias tag, is addressable,
call clobbered, default def: D.2387_98

Variable: D.2388, UID 2388, int *, is an alias tag, is addressable,
call clobbered, default def: D.2388_97

Variable: D.2389, UID 2389, int, is an alias tag, is addressable, call
clobbered, default def: D.2389_96

Variable: D.2390, UID 2390, int, is an alias tag, is addressable, call
clobbered, default def: D.2390_95


Variable: D.2978, UID 2978, void *


Variable: __taint_addr.88, UID 3044, unsigned int

Variable: __taint_addr.89, UID 3045, int *

Variable: __taint_addr.90, UID 3046, unsigned int

Variable: __taint_addr.91, UID 3047, void *, type memory tag: TMT.687

Variable: D.3048, UID 3048, void *

Variable: __taint_addr.92, UID 3049, int *

Variable: __taint_addr.93, UID 3050, unsigned int

Variable: __taint_addr.94, UID 3051, void *, type memory tag: TMT.687

Variable: D.3052, UID 3052, void *

Variable: __taint_addr.95, UID 3053, void *, type memory tag: TMT.687



Pointed-to sets for pointers in main

x_79
D.2378_70
D.2379_90
D.2382_103
D.2383_102
D.2386_99
D.2387_98
D.2388_97
__taint_addr.31_16, is dereferenced, its value escapes, points-to anything
D.2965_19, points-to anything
__taint_addr.32_20, is dereferenced, its value escapes, points-to anything
D.2967_21, points-to anything
__taint_addr.33_22
__taint_retned_tag.34_23
D.2970_24, points-to anything
__taint_addr.35_25, is dereferenced, its value escapes, points-to anything
D.2972_26, points-to anything
__taint_addr.36_27
__taint_retned_tag.37_28
D.2978_33, points-to anything
__taint_addr.41_34, is dereferenced, its value escapes, points-to anything
D.2983_40, points-to anything
__taint_addr.45_41, is dereferenced, its value escapes, points-to anything
D.2985_42, points-to anything
__taint_addr.46_43, is dereferenced, its value escapes, points-to anything
D.2987_44, points-to anything
__taint_addr.47_45, is dereferenced, its value escapes, points-to anything
D.2992_51, points-to anything
__taint_addr.51_52, is dereferenced, its value escapes, points-to anything
D.2994_53, points-to anything
__taint_addr.52_54, is dereferenced, its value escapes, points-to anything
D.2996_55, points-to anything
__taint_addr.53_56, is dereferenced, its value escapes, points-to anything
D.3001_62, points-to anything
__taint_addr.57_63, is dereferenced, its value escapes, points-to anything
D.3005_68, points-to anything
__taint_addr.60_69, is dereferenced, its value escapes, points-to anything
__taint_retned_tag.61_73, is dereferenced, its value escapes, points-to anything
__taint_addr.64_75, its value escapes, points-to vars: { HEAP.686 }
D.3012_77, points-to anything
__taint_addr.66_78, is dereferenced, its value escapes, points-to anything
__taint_addr.68_82, its value escapes, points-to vars: { HEAP.686 }
D.3017_84, points-to anything
__taint_addr.70_85, is dereferenced, its value escapes, points-to anything
D.3019_86, points-to anything
__taint_addr.71_87, is dereferenced, its value escapes, points-to anything
D.3021_88, points-to anything
__taint_addr.72_89, is dereferenced, its value escapes, points-to anything
D.3023_92, points-to anything
__taint_addr.73_93, is dereferenced, its value escapes, points-to anything
D.3024_94, name memory tag: NMT.688, is dereferenced, its value
escapes, points-to vars: { HEAP.686 }
D.3029_110, points-to anything
__taint_addr.77_111, is dereferenced, its value escapes, points-to anything
D.3034_116, points-to anything
__taint_addr.81_117, is dereferenced, its value escapes, points-to anything
D.3036_118, points-to anything
__taint_addr.82_119, is dereferenced, its value escapes, points-to anything
D.3038_120, points-to anything
__taint_addr.83_121, is dereferenced, its value escapes, points-to anything
D.3043_126, points-to anything
__taint_addr.87_127, is dereferenced, its value escapes, points-to anything
__taint_addr.89_130, its value escapes, points-to anything
D.3048_132, points-to anything
__taint_addr.91_133, is dereferenced, its value escapes, points-to anything
__taint_addr.92_134, its value escapes, points-to vars: { HEAP.686 }
D.3052_136, points-to anything
__taint_addr.94_137, is dereferenced, its value escapes, points-to anything
D.3054_138, points-to anything
__taint_addr.95_139, is dereferenced, its value escapes, points-to anything
D.3057_142, is dereferenced, its value escapes, points-to anything
D.3058_143, points-to anything
__taint_addr.97_144, is dereferenced, its value escapes, points-to anything
D.3063_149, points-to anything
__taint_addr.101_150, is dereferenced, its value escapes, points-to anything
D.3070_265, points-to anything
__taint_addr.107_266, is dereferenced, its value escapes, points-to anything
D.3072_267, points-to anything
__taint_addr.108_268, is dereferenced, its value escapes, points-to anything
D.3074_269, points-to anything
__taint_addr.109_270, is dereferenced, its value escapes, points-to anything
D.3079_275, points-to anything
__taint_addr.113_276, is dereferenced, its value escapes, points-to anything
D.3084_281, points-to anything
__taint_addr.117_282, is dereferenced, its value escapes, points-to anything
D.3086_283, points-to anything
__taint_addr.118_284, is dereferenced, its value escapes, points-to anything
D.3088_285, points-to anything
__taint_addr.119_286, is dereferenced, its value escapes, points-to anything
D.3093_291, points-to anything
__taint_addr.123_292, is dereferenced, its value escapes, points-to anything
__taint_addr.125_295, its value escapes, points-to anything
D.3098_297, points-to anything
__taint_addr.127_298, is dereferenced, its value escapes, points-to anything
__taint_addr.128_299, its value escapes, points-to vars: { HEAP.686 }
D.3102_301, points-to anything
__taint_addr.130_302, is dereferenced, its value escapes, points-to anything
D.3104_303, points-to anything
__taint_addr.131_304, is dereferenced, its value escapes, points-to anything
D.3057_307, is dereferenced, its value escapes, points-to anything
D.3107_308, points-to anything
__taint_addr.133_309, is dereferenced, its value escapes, points-to anything
D.3112_314, points-to anything
__taint_addr.137_315, is dereferenced, its value escapes, points-to anything
D.3114_316, points-to anything
__taint_addr.138_317, is dereferenced, its value escapes, points-to anything
D.3116_318, points-to anything
__taint_addr.139_319, is dereferenced, its value escapes, points-to anything
D.3120_323, points-to anything
__taint_addr.142_324, is dereferenced, its value escapes, points-to anything
D.3057_325, is dereferenced, its value escapes, points-to anything
D.3125_157, points-to anything
__taint_addr.146_158, is dereferenced, its value escapes, points-to anything
D.3127_159, points-to anything
__taint_addr.147_160, is dereferenced, its value escapes, points-to anything
D.3129_161, points-to anything
__taint_addr.148_162, is dereferenced, its value escapes, points-to anything
D.3134_167, points-to anything
__taint_addr.152_168, is dereferenced, its value escapes, points-to anything
D.3139_173, points-to anything
__taint_addr.156_174, is dereferenced, its value escapes, points-to anything
D.3141_175, points-to anything
__taint_addr.157_176, is dereferenced, its value escapes, points-to anything
D.3143_177, points-to anything
__taint_addr.158_178, is dereferenced, its value escapes, points-to anything
D.3148_183, points-to anything
__taint_addr.162_184, is dereferenced, its value escapes, points-to anything
__taint_addr.164_187, its value escapes, points-to anything
D.3153_189, points-to anything
__taint_addr.166_190, is dereferenced, its value escapes, points-to anything
__taint_addr.167_191, its value escapes, points-to vars: { HEAP.686 }
D.3157_193, points-to anything
__taint_addr.169_194, is dereferenced, its value escapes, points-to anything
D.3159_195, points-to anything
__taint_addr.170_196, is dereferenced, its value escapes, points-to anything
D.3164_201, points-to anything
__taint_addr.174_202, is dereferenced, its value escapes, points-to anything
D.3169_207, points-to anything
__taint_addr.178_208, is dereferenced, its value escapes, points-to anything
D.3171_209, points-to anything
__taint_addr.179_210, is dereferenced, its value escapes, points-to anything
D.3173_211, points-to anything
__taint_addr.180_212, is dereferenced, its value escapes, points-to anything
D.3178_217, points-to anything
__taint_addr.184_218, is dereferenced, its value escapes, points-to anything
__taint_addr.186_221, its value escapes, points-to anything
D.3183_223, points-to anything
__taint_addr.188_224, is dereferenced, its value escapes, points-to anything
__taint_addr.189_225, its value escapes, points-to vars: { HEAP.686 }
D.3187_227, points-to anything
__taint_addr.191_228, is dereferenced, its value escapes, points-to anything
D.3189_229, points-to anything
__taint_addr.192_230, is dereferenced, its value escapes, points-to anything
__taint_addr.194_233, its value escapes, points-to anything
D.3194_235, points-to anything
__taint_addr.196_236, is dereferenced, its value escapes, points-to anything
D.3196_237, points-to anything
__taint_addr.197_238, is dereferenced, its value escapes, points-to anything
D.3198_239, points-to anything
__taint_addr.198_240, is dereferenced, its value escapes, points-to anything
D.3201_243, is dereferenced, its value escapes, points-to anything
D.3202_244, points-to anything
__taint_addr.200_245, is dereferenced, its value escapes, points-to anything
D.3207_250, points-to anything
__taint_addr.204_251, is dereferenced, its value escapes, points-to anything
D.3209_252, points-to anything
__taint_addr.205_253, is dereferenced, its value escapes, points-to anything
D.3211_254, points-to anything
__taint_addr.206_255, is dereferenced, its value escapes, points-to anything
D.3215_259, points-to anything
__taint_addr.209_260, is dereferenced, its value escapes, points-to anything
D.3057_261, is dereferenced, its value escapes, points-to anything
D.2388_11
D.2387_10
D.2386_9
D.2383_6
D.2382_5


Flow-insensitive alias information for main

Aliased symbols

HEAP.686, UID 4148, void *, is an alias tag, is addressable, is
global, call clobbered
TMT.687, UID 4149, void, is addressable, is global, call clobbered,
may aliases: { HEAP.686 k n x n.10 D.2375 D.2376 D.2377 D.2378 D.2379
k.11 D.2381 D.2382 D.2383 D.2384 D.2385 D.2386 D.2387 D.2388 D.2389
D.2390 }
NMT.688, UID 4150, int, is addressable, is global, call clobbered, may
aliases: { HEAP.686 }
k, UID 2368, int, is an alias tag, is addressable, call clobbered,
default def: k_17
n, UID 2369, int, is an alias tag, is addressable, call clobbered,
default def: n_30
x, UID 2370, int *, is an alias tag, is addressable, call clobbered,
default def: x_79
n.10, UID 2374, int, is an alias tag, is addressable, call clobbered,
default def: n.10_35
D.2375, UID 2375, int, is an alias tag, is addressable, call
clobbered, default def: D.2375_46
D.2376, UID 2376, int, is an alias tag, is addressable, call
clobbered, default def: D.2376_57
D.2377, UID 2377, unsigned int, is an alias tag, is addressable, call
clobbered, default def: D.2377_64
D.2378, UID 2378, void *, is an alias tag, is addressable, call
clobbered, default def: D.2378_70
D.2379, UID 2379, int *, is an alias tag, is addressable, call
clobbered, default def: D.2379_90
k.11, UID 2380, unsigned int, is an alias tag, is addressable, call
clobbered, default def: k.11_105
D.2381, UID 2381, unsigned int, is an alias tag, is addressable, call
clobbered, default def: D.2381_104
D.2382, UID 2382, int *, is an alias tag, is addressable, call
clobbered, default def: D.2382_103
D.2383, UID 2383, int *, is an alias tag, is addressable, call
clobbered, default def: D.2383_102
D.2384, UID 2384, int, is an alias tag, is addressable, call
clobbered, default def: D.2384_101
D.2385, UID 2385, int, is an alias tag, is addressable, call
clobbered, default def: D.2385_100
D.2386, UID 2386, int *, is an alias tag, is addressable, call
clobbered, default def: D.2386_99
D.2387, UID 2387, int *, is an alias tag, is addressable, call
clobbered, default def: D.2387_98
D.2388, UID 2388, int *, is an alias tag, is addressable, call
clobbered, default def: D.2388_97
D.2389, UID 2389, int, is an alias tag, is addressable, call
clobbered, default def: D.2389_96
D.2390, UID 2390, int, is an alias tag, is addressable, call
clobbered, default def: D.2390_95

Dereferenced pointers

__taint_addr.97, UID 3056, void *, type memory tag: TMT.687
D.3057, UID 3057, int *, type memory tag: TMT.687
__taint_addr.108, UID 3071, void *, type memory tag: TMT.687
__taint_addr.109, UID 3073, void *, type memory tag: TMT.687
__taint_addr.127, UID 3097, void *, type memory tag: TMT.687
__taint_addr.130, UID 3101, void *, type memory tag: TMT.687
__taint_addr.131, UID 3103, void *, type memory tag: TMT.687
__taint_addr.133, UID 3106, void *, type memory tag: TMT.687
__taint_addr.137, UID 3111, void *, type memory tag: TMT.687
__taint_addr.138, UID 3113, void *, type memory tag: TMT.687
__taint_addr.139, UID 3115, void *, type memory tag: TMT.687
__taint_addr.142, UID 3119, void *, type memory tag: TMT.687

Type memory tags

TMT.687, UID 4149, void, is addressable, is global, call clobbered,
may aliases: { HEAP.686 k n x n.10 D.2375 D.2376 D.2377 D.2378 D.2379
k.11 D.2381 D.2382 D.2383 D.2384 D.2385 D.2386 D.2387 D.2388 D.2389
D.2390 }


Flow-sensitive alias information for main

SSA_NAME pointers

D.3024_94, name memory tag: NMT.688, is dereferenced, its value
escapes, points-to vars: { HEAP.686 }

Name memory tags

NMT.688, UID 4150, int, is addressable, is global, call clobbered, may
aliases: { HEAP.686 }



Symbols to be put in SSA form

k n x n.10 D.2375 D.2376 D.2377 D.2378 D.2379 k.11 D.2381 D.2382
D.2383 D.2384 D.2385 D.2386 D.2387 D.2388 D.2389 D.2390 HEAP.686
TMT.687 NMT.688

Incremental SSA update started at block: -1

Number of blocks in CFG: 6
Number of blocks to update: 5 ( 83%)

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



On 11/18/05, Diego Novillo <dnovillo@redhat.com> wrote:
> On Friday 18 November 2005 04:13, Prateek Saxena wrote:
>
> > At this point, the stmt:
> >
> > #   VUSE <D.2383_307>;
> > *D.2383 = __taint_addr.11D.3119_323;
> >
> > _doesnot_ show any used op like,
> >
> > D.2383.
> >
> > why is this happening?
> >
> D.2383 is virtual (see the VUSE).  Show me the points-to set for D.2383?
> That store is generating no V_MAY_DEFs and that is why DCE is removing it.
> I'll need to see the .alias1 and .dce1 dumps.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]