This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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.
>