diff options
author | Chris Lattner <sabre@nondot.org> | 2004-06-19 07:02:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-06-19 07:02:14 +0000 |
commit | 1654cff8e80acdddf5e5f2261595007878924aac (patch) | |
tree | 371804ca8d13ac2100567aa806406a1e5b11344c /lib/Analysis/BasicAliasAnalysis.cpp | |
parent | 8430a4545c2743568aee94c39e3912795ce463ec (diff) |
Do not sort by the address of LLVM ConstantInt* objects. This produces
nondeterministic results that depend on where these objects land in memory.
Instead, sort by the value of the constant, which is stable.
Before this patch, the -simplifycfg pass run from two different compilers
could cause different code to be generated, though it was semantically the
same:
@@ -12258,8 +12258,8 @@
%s_addr.1 = phi sbyte* [ %s, %entry ], [ %inc.0, %no_exit ] ; <sbyte*> [#uses=5]
%tmp.1 = load sbyte* %s_addr.1 ; <sbyte> [#uses=1]
switch sbyte %tmp.1, label %no_exit [
- sbyte 0, label %loopexit
sbyte 46, label %loopexit
+ sbyte 0, label %loopexit
]
We need to stomp all of this stuff out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14243 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/BasicAliasAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions