OSDN Git Service

Handle a common case more carefully. In particular, instead of transforming
authorChris Lattner <sabre@nondot.org>
Mon, 11 Oct 2004 23:06:50 +0000 (23:06 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 11 Oct 2004 23:06:50 +0000 (23:06 +0000)
commita4b9c7841f94b6a3a2ba6c562b5dc4f4de02c637
tree4d1f6e25d22af6d9d3b881c0e208412d8aedd153
parent7fa6e666ece60455cf9d75eff6e6915bebf05cbc
Handle a common case more carefully.  In particular, instead of transforming
pointer recurrences into expressions from this:

  %P_addr.0.i.0 = phi sbyte* [ getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), %entry ], [ %inc.0.i, %no_exit.i ]
  %inc.0.i = getelementptr sbyte* %P_addr.0.i.0, int 1            ; <sbyte*> [#uses=2]

into this:

  %inc.0.i = getelementptr sbyte* getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), int %inc.0.i.rec

Actually create something nice, like this:

  %inc.0.i = getelementptr [8 x sbyte]* %.str_1, int 0, int %inc.0.i.rec

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16924 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/IndVarSimplify.cpp