Adds x-ray support for hexagon to llvm codegen, clang driver, compiler-rt libs.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
This patch spans several areas, so I would be happy to decompose it into smaller parts if it made it easier for reviewers.
compiler-rt/lib/xray/xray_hexagon.cpp | ||
---|---|---|
77–85 | If we need to support cases where the entire sled spans cache lines, then we must iterate over the icinva() instead. | |
77–85 | Other arches do atomic stores. I think we will need to change this to: LL first, then icinva/isync, then SC. If the SC fails then either we re-run all those steps because we want to clobber it or we do nothing because we assume some other thread applied the same patch first? |
Whoops -- sorry, I had forgotten to change my email settings and missed this.
Thanks for the patch, it's exciting to see XRay being supported in the Hexagon architecture!
recordSled(CurSled, MI, Kind, 0); is not intended. All new ports should use version 2.
If we need to support cases where the entire sled spans cache lines, then we must iterate over the icinva() instead.