<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/144180>144180</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            CodeGenFunction take LValue by value in many of its member function
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          shafik
      </td>
    </tr>
</table>

<pre>
    Static analysis has pointed out that `LValue` is not a small object but in several member functions of `CodeGenFunction` it passes around an `LValue` by value when it could take it by const &. 

I don't see a good reason to not refactor but perhaps I am missing something.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxckk9vnDAQxT-NuYyyMl4W2IMPaautIvVWqfcxHsCNsZFn2Gi_fQWJFDUn_3_z_H6DzGFKRFZdvqnLjwo3mXOxPOMYXiuX_cP-FpQwACaMDw4MMzKsOSQhD3kTkBkFVKt__cG4kWo1BIaUBRB4wRghu780CLhNICRgulPBCAstjgqMWxok5MSQx13le_b0k9LtY_uQE1iRmRiw5C15wPR_PfeA-z6Ht5nSfn3IW_Qg-Er7yj1gyIkFlGlPoPSz0s8v4HNSphNgIkCYcvZQCDknkHzYLzTiILkcxlcqM64ML4ALLIE5pAk4LyRzSNOp8vbsr-crVmTrrrn2bdd0bTXby8X5cTzruhv6K9XetJ6MG0zbdkij6atgjTYX3daNNnV3aU7osXfnVndNPfZ936hG04IhnmK8L6dcpiowb2Trpql7XUV0FPnAZ0yiNzhOlTE7zWL3R09um1g1OgYW_pSRIJHsl7zfQ3uP9jPXkGDB9NgRBeGv6KqtRDuLrKzOz8rclLlNQebNnYa8KHPbK34MT2vJezMoczt8sjK3j4_crfkXAAD__6Wf2Zc">