HomePhabricator

[SSAUpdaterBulk] Fix linux bootstrap/sanitizer failures: explicitly specify…

Description

[SSAUpdaterBulk] Fix linux bootstrap/sanitizer failures: explicitly specify order of evaluation.

The standard says that the order of evaluation of an expression

s[x] = foo()

is unspecified. In our case, we first create an empty entry in the map,
then call foo(), then store its return value to the created entry. The
problem is that foo uses the map as a cache, so if it finds that there
is an entry in the map, it stops computation. This change explicitly
sets the order, thus fixing this heisenbug.

Details

Committed
mzolotukhinApr 11 2018, 4:37 PM
Parents
rL329863: [llvm-objcopy] Switch over to using TableGen for parsing arguments
Branches
Unknown
Tags
Unknown