[LLVMdev] Some questions on the output formats of AliasSetTracker
Dan Gohman
gohman at apple.com
Fri May 8 14:11:38 PDT 2009
On May 7, 2009, at 5:29 PM, hc2428 at columbia.edu wrote:
> Quoting Eli Friedman <eli.friedman at gmail.com>:
>
> Dear Eli,
> Thanks very much for your reply. I have modified the XX and YY to
> be global variables, but the output of AliasSetTracker are still MUST
> alias:
>
> Alias Set Tracker: 5 alias sets for 4 pointer values.
> AliasSet[0xea55d0,0] may alias, Mod/Ref
> 8 Call Sites: void ({ }*)* @llvm.dbg.func.start, 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[0xeb81e0,1] must alias, Mod/Ref Pointers: (i32** @XX, 8)
> AliasSet[0xea5fc0,1] must alias, Mod Pointers: (i32** @YY, 8)
> AliasSet[0xeab830,1] must alias, Mod/Ref Pointers: (i32* %0, 4)
> AliasSet[0xea5e70,1] must alias, Mod/Ref Pointers: (i32*
> %retval, 4)
This means that @XX and the others are each in an alias set of
their own. A "must alias" on an AliasSetTracker AliasSet indicates
that everything in the set is considered to must-alias every other
element in that set. However since the above sets have just one
element each, that indicates that there is no aliasing.
Dan
More information about the llvm-dev
mailing list