summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/LevelRaise.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-06-19 07:02:14 +0000
committerChris Lattner <sabre@nondot.org>2004-06-19 07:02:14 +0000
commitb2b151d2975d9712f35aad25cd11563216dca898 (patch)
tree81d73b59f72bafaddf0e533b3d8e9f2c560cdb72 /llvm/lib/Transforms/LevelRaise.cpp
parentb5f8eb8315ca590baa2fa607f5fcc68042af7df6 (diff)
downloadbcm5719-llvm-b2b151d2975d9712f35aad25cd11563216dca898.tar.gz
bcm5719-llvm-b2b151d2975d9712f35aad25cd11563216dca898.zip
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. llvm-svn: 14243
Diffstat (limited to 'llvm/lib/Transforms/LevelRaise.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud