hc2428 at columbia.edu
2009-May-08 00:13 UTC
[LLVMdev] Some questions on the output formats of AliasSetTracker
Dear Staff, Here are some questions on the output formats of AliasSetTracker. The code is as below: int G1 = 9; int G2 = 5; int main() { int * XX; int * YY; XX = &G1; YY = XX; YY = &G2; XX = &G2; } The output for -anders-aa is (the command is: opt -anders-aa test.bc -disable-output -print-alias-sets &> output-anders.txt): Alias Set Tracker: 5 alias sets for 4 pointer values. AliasSet[0xea6fb0,0] may alias, Mod/Ref 10 Call Sites: void ({ }*)* @llvm.dbg.func.start, void ({ }*, { }*)* @llvm.dbg.declare, void ({ }*, { }*)* @llvm.dbg.declare, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void ({ }*)* @llvm.dbg.region.end AliasSet[0xea7040,1] must alias, Mod/Ref Pointers: (i32** %XX, 8) AliasSet[0xea6d40,1] must alias, Mod Pointers: (i32** %YY, 8) AliasSet[0xea6ec0,1] must alias, Mod/Ref Pointers: (i32* %0, 4) AliasSet[0xea67d0,1] must alias, Mod/Ref Pointers: (i32* %retval, 4) The output for -steens-aa in poolalloc module is: Alias Set Tracker: 5 alias sets for 4 pointer values. AliasSet[0xeb0e20,0] may alias, Mod/Ref 10 Call Sites: void ({ }*)* @llvm.dbg.func.start, void ({ }*, { }*)* @llvm.dbg.declare, void ({ }*, { }*)* @llvm.dbg.declare, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void (i32, i32, { }*)* @llvm.dbg.stoppoint, void ({ }*)* @llvm.dbg.region.end AliasSet[0xeb5a20,1] must alias, Mod/Ref Pointers: (i32** %XX, 8) AliasSet[0xebb210,1] must alias, Mod Pointers: (i32** %YY, 8) AliasSet[0xebabb0,1] must alias, Mod/Ref Pointers: (i32* %0, 4) AliasSet[0xebac10,1] must alias, Mod/Ref Pointers: (i32* %retval, 4) However, I am a little confused with these output. In Both anders-aa and steens-aa, XX and YY should stay in the same AliasSet, and their alias relationship should be May Alias, right? Sorry I am just a freshman to the alias analysis area, please shed some light on the understanding of the output formats. Best, Heming
Apparently Analagous Threads
- [LLVMdev] Some questions on the output formats of AliasSetTracker
- [LLVMdev] Some questions on the output formats of AliasSetTracker
- [LLVMdev] Some questions on the output formats of AliasSetTracker
- [LLVMdev] AliasSetTracker and UnknownInst's (callsites mostly) problem
- [LLVMdev] Possible issue with DenseMap when using AliasSetTracker