{"push_id":646383601,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"974d5d32c8af742058dec16aa6f2cb7cc51222e1","before":"e1f835ab596a984f5d055ca98db375b72ddd7f14","commits":[{"sha":"974d5d32c8af742058dec16aa6f2cb7cc51222e1","author":{"email":"05f726f834638679f776bde9b9fcd7e9d7242de5@gmail.com","name":"David Blaikie"},"message":"[opaque pointer type] Encode the pointee type in the bitcode for 'cmpxchg'\n\nAs a space optimization, this instruction would just encode the pointer\ntype of the first operand and use the knowledge that the second and\nthird operands would be of the pointee type of the first. When typed\npointers go away, this assumption will no longer be available - so\nencode the type of the second operand explicitly and rely on that for\nthe third.\n\nTest case added to demonstrate the backwards compatibility concern,\nwhich only comes up when the definition of the second operand comes\nafter the use (hence the weird basic block sequence) - at which point\nthe type needs to be explicitly encoded in the bitcode and the record\nlength changes to accommodate this.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235966 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm/commits/974d5d32c8af742058dec16aa6f2cb7cc51222e1"}]}