Hal Finkel via llvm-dev
2017-Apr-12 21:46 UTC
[llvm-dev] Should ValueTracking::GetUnderlyingObject stop on Alloca instructions rather than calling SimplifyInstruction?
Yep. Makes sense to me. There's nothing to simplify or constant-fold about an alloca. -Hal On 04/12/2017 04:23 PM, Craig Topper wrote:> Ping > > ~Craig > > On Fri, Apr 7, 2017 at 1:25 PM, Craig Topper <craig.topper at gmail.com > <mailto:craig.topper at gmail.com>> wrote: > > I notice that GetUnderlyingObject has a few checks, but alloca > isn't one of them. Then it fall backs to SimplifyInstruction which > doesn't know about alloca so falls back to just trying to constant > fold it. This seems a little silly since I assume alloca can't be > constant folded. Should we just detect this early in > GetUnderlyingObject and stop? > > ~Craig > >-- Hal Finkel Lead, Compiler Technology and Programming Languages Leadership Computing Facility Argonne National Laboratory -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170412/5437a8c3/attachment.html>
Chandler Carruth via llvm-dev
2017-Apr-12 21:48 UTC
[llvm-dev] Should ValueTracking::GetUnderlyingObject stop on Alloca instructions rather than calling SimplifyInstruction?
+1 On Wed, Apr 12, 2017 at 2:46 PM Hal Finkel <hfinkel at anl.gov> wrote:> Yep. Makes sense to me. There's nothing to simplify or constant-fold about > an alloca. > > -Hal > On 04/12/2017 04:23 PM, Craig Topper wrote: > > Ping > > ~Craig > > On Fri, Apr 7, 2017 at 1:25 PM, Craig Topper <craig.topper at gmail.com> > wrote: > > I notice that GetUnderlyingObject has a few checks, but alloca isn't one > of them. Then it fall backs to SimplifyInstruction which doesn't know about > alloca so falls back to just trying to constant fold it. This seems a > little silly since I assume alloca can't be constant folded. Should we just > detect this early in GetUnderlyingObject and stop? > > ~Craig > > > > -- > Hal Finkel > Lead, Compiler Technology and Programming Languages > Leadership Computing Facility > Argonne National Laboratory > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170412/8cfde2a8/attachment.html>
Craig Topper via llvm-dev
2017-Apr-12 22:44 UTC
[llvm-dev] Should ValueTracking::GetUnderlyingObject stop on Alloca instructions rather than calling SimplifyInstruction?
Commited in r300118. ~Craig On Wed, Apr 12, 2017 at 2:48 PM, Chandler Carruth <chandlerc at google.com> wrote:> +1 > > On Wed, Apr 12, 2017 at 2:46 PM Hal Finkel <hfinkel at anl.gov> wrote: > >> Yep. Makes sense to me. There's nothing to simplify or constant-fold >> about an alloca. >> >> -Hal >> On 04/12/2017 04:23 PM, Craig Topper wrote: >> >> Ping >> >> ~Craig >> >> On Fri, Apr 7, 2017 at 1:25 PM, Craig Topper <craig.topper at gmail.com> >> wrote: >> >> I notice that GetUnderlyingObject has a few checks, but alloca isn't one >> of them. Then it fall backs to SimplifyInstruction which doesn't know about >> alloca so falls back to just trying to constant fold it. This seems a >> little silly since I assume alloca can't be constant folded. Should we just >> detect this early in GetUnderlyingObject and stop? >> >> ~Craig >> >> >> >> -- >> Hal Finkel >> Lead, Compiler Technology and Programming Languages >> Leadership Computing Facility >> Argonne National Laboratory >> >>-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170412/1e172722/attachment.html>