1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

[SystemZ] Handle BRCTH branches correctly in SystemZLongBranch.cpp.

BRCTH is capable of a long branch which needs to be recognized during branch
relaxation. This is done by checking for ExtraRelaxSize == 0.

Review: Ulrich Weigand
llvm-svn: 322688
This commit is contained in:
Jonas Paulsson 2018-01-17 17:16:07 +00:00
parent f1ef4bbf8f
commit 615f5a337a
2 changed files with 11954 additions and 1 deletions

View File

@ -312,7 +312,7 @@ uint64_t SystemZLongBranch::initMBBInfo() {
// relaxed if it were placed at address Address.
bool SystemZLongBranch::mustRelaxBranch(const TerminatorInfo &Terminator,
uint64_t Address) {
if (!Terminator.Branch)
if (!Terminator.Branch || Terminator.ExtraRelaxSize == 0)
return false;
const MBBInfo &Target = MBBs[Terminator.TargetBlock];

File diff suppressed because one or more lines are too long