Dan points out that mem2reg also promotes vectors: be more precise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43715 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2007-11-05 17:45:54 +00:00
parent a461c4d75b
commit a56b22d7f7

View File

@ -258,7 +258,9 @@ once, which makes analysis simpler.</li>
the address of the stack object is passed to a function, or if any funny pointer the address of the stack object is passed to a function, or if any funny pointer
arithmetic is involved, the alloca will not be promoted.</li> arithmetic is involved, the alloca will not be promoted.</li>
<li>mem2reg only works on allocas of scalar values, and only if the array size <li>mem2reg only works on allocas of <a
href="../LangRef.html#t_classifications">first class</a>
values (such as pointers, scalars and vectors), and only if the array size
of the allocation is 1 (or missing in the .ll file). mem2reg is not capable of of the allocation is 1 (or missing in the .ll file). mem2reg is not capable of
promoting structs or arrays to registers. Note that the "scalarrepl" pass is promoting structs or arrays to registers. Note that the "scalarrepl" pass is
more powerful and can promote structs, "unions", and arrays in many cases.</li> more powerful and can promote structs, "unions", and arrays in many cases.</li>