[llvm] f6cb59d - [sancov] Add SPARC support for getPreviousInstructionPc

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 27 11:10:55 PST 2022


Author: Xiaodong Liu
Date: 2022-02-27T19:10:51Z
New Revision: f6cb59d35f8c5cb3ce8658474c6379ae534195fe

URL: https://github.com/llvm/llvm-project/commit/f6cb59d35f8c5cb3ce8658474c6379ae534195fe
DIFF: https://github.com/llvm/llvm-project/commit/f6cb59d35f8c5cb3ce8658474c6379ae534195fe.diff

LOG: [sancov] Add SPARC support for getPreviousInstructionPc

The SPARC and MIPS branching operations have a branch delay slot, 4 more bytes occupied.

Depends on D120381

Reviewed By: ro, MaskRay

Differential Revision: https://reviews.llvm.org/D120451

Added: 
    

Modified: 
    llvm/tools/sancov/sancov.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/tools/sancov/sancov.cpp b/llvm/tools/sancov/sancov.cpp
index 4c0aa1c9339f6..5f24d53d1ba38 100644
--- a/llvm/tools/sancov/sancov.cpp
+++ b/llvm/tools/sancov/sancov.cpp
@@ -695,7 +695,7 @@ static uint64_t getPreviousInstructionPc(uint64_t PC,
                                          Triple TheTriple) {
   if (TheTriple.isARM())
     return (PC - 3) & (~1);
-  if (TheTriple.isMIPS())
+  if (TheTriple.isMIPS() || TheTriple.isSPARC())
     return PC - 8;
   if (TheTriple.isRISCV())
     return PC - 2;


        


More information about the llvm-commits mailing list