[PATCH] D46800: [X86DomainReassignment] Don't compare stack-allocated values by address

Keno Fischer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat May 12 18:32:07 PDT 2018


loladiro created this revision.
loladiro added reviewers: craig.topper, guyblank.

The Closure allocated in the main loop is allocated on the stack. However,
later in the code its address is taken (and used for comparisons). This
obviously doesn't work. In fact, the Closure will get the same stack address
during every loop iteration, rendering the check that intended to identify
Closure conflicts entirely ineffective. Fix this bug by giving every Closure
a unique ID and using that for comparison. Alternatively, we could heap
allocate the closure object.

Fixes PR37396
Fixes JuliaLang/julia#27032


Repository:
  rL LLVM

https://reviews.llvm.org/D46800

Files:
  lib/Target/X86/X86DomainReassignment.cpp
  test/CodeGen/X86/domain-reassignment-test.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46800.146493.patch
Type: text/x-patch
Size: 4578 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180513/a7312da8/attachment.bin>


More information about the llvm-commits mailing list