summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CoverageMappingGen.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2015-04-28 04:30:29 +0000
committerDavid Blaikie <dblaikie@gmail.com>2015-04-28 04:30:29 +0000
commit2a661cd062625ce6155c465d4baab8ef7d99becd (patch)
tree2476ed69fba21cb0a41187fc225ed9f72684b601 /clang/lib/CodeGen/CoverageMappingGen.cpp
parent03b487bf19e3c3a913f1fdb35bc123c7cdd72f89 (diff)
downloadbcm5719-llvm-2a661cd062625ce6155c465d4baab8ef7d99becd.tar.gz
bcm5719-llvm-2a661cd062625ce6155c465d4baab8ef7d99becd.zip
[opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg'
As a space optimization, this instruction would just encode the pointer type of the first operand and use the knowledge that the second and third operands would be of the pointee type of the first. When typed pointers go away, this assumption will no longer be available - so encode the type of the second operand explicitly and rely on that for the third. Test case added to demonstrate the backwards compatibility concern, which only comes up when the definition of the second operand comes after the use (hence the weird basic block sequence) - at which point the type needs to be explicitly encoded in the bitcode and the record length changes to accommodate this. llvm-svn: 235966
Diffstat (limited to 'clang/lib/CodeGen/CoverageMappingGen.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud