aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/Support/ThreadLocalTest.cpp
diff options
context:
space:
mode:
authorXiaodong Liu <liuxiaodong@loongson.cn>2022-11-02 15:47:26 +0800
committerXiaodong Liu <liuxiaodong@loongson.cn>2022-11-08 19:26:16 +0800
commit57ad3f1dc63890c96e9c1565489e1da65b0fb032 (patch)
tree355dbf5d7ffadd3dd434d4bac5400b88bbf789e4 /llvm/unittests/Support/ThreadLocalTest.cpp
parent5426a1e51d20a13f575ae03c10b274430b4a3539 (diff)
downloadllvm-57ad3f1dc63890c96e9c1565489e1da65b0fb032.zip
llvm-57ad3f1dc63890c96e9c1565489e1da65b0fb032.tar.gz
llvm-57ad3f1dc63890c96e9c1565489e1da65b0fb032.tar.bz2
[LoongArch] Add support for the BranchRelaxation pass
When the branch target is out of the range represented by the current branch instruction's immediate, branch relaxation is required. There are three types of immediate for branch instructions on LoongArch, including simm16, simm21 and simm26. And the real branch target address is PC + sext(simmXX << 2). In addition, the indirect branch way is implemented to support larger branch target. BranchRelaxation pass calls `RenumberBlocks` to renumber all of the machine basic blocks in the function. So the machine basic blocks number changed in some test cases. Differential Revision: https://reviews.llvm.org/D137233
Diffstat (limited to 'llvm/unittests/Support/ThreadLocalTest.cpp')
0 files changed, 0 insertions, 0 deletions