summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-19 20:54:03 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-19 20:54:03 +0000
commit1b707c88179ee6e9d50ebd16d54ccfe5c9280b21 (patch)
treee9913ef75c5f2be78b99a1166a4b6a9509b580a1 /clang/lib/CodeGen/CodeGenFunction.cpp
parentc93e91da27f38822fcfdc1e1ada70c97e7e743b1 (diff)
downloadbcm5719-llvm-1b707c88179ee6e9d50ebd16d54ccfe5c9280b21.tar.gz
bcm5719-llvm-1b707c88179ee6e9d50ebd16d54ccfe5c9280b21.zip
Fix an ancient bug in removeCopyByCommutingDef().
Before rewriting uses of one value in A to register B, check that there are no tied uses. That would require multiple A values to be rewritten. This bug can't bite in the current version of the code for a fairly subtle reason: A tied use would have caused 2-addr to insert a copy before the use. If the copy has been coalesced, it will be found by the same loop changed by this patch, and the optimization is aborted. This was exposed by 400.perlbench and lua after applying a patch that deletes joined copies aggressively. llvm-svn: 157130
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud