Now that we use dedicated serialize and deserialize methods in order to
ensure consistency across big and small endian systems. The packed
qualifier on the Frame struct can be removed.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
What about the other uses of PACKED e.g. in MemProfData.inc? Should/can they be removed?
Comment Actions
This use of packed is for reading and writing of the indexed profile format. The packed structs in MemProfData.inc are written by the runtime and read by the raw memprof profile reader. The use of packed structs makes the compiler generate alignment aware code, simplifying the implementation in the runtime. Here, within llvm, we have access to support::endian so implementing endian and alignment aware serialization/deserialization is simple. We would have to replicate this in the memprof runtime.