Home | History | Annotate | Download | only in mips64

Lines Matching full:branch

313   uint32_t prev_branch_id_plus_one_;  // To get distance from preceding branch, if any.
433 for (auto& branch : branches_) {
434 CHECK(branch.IsResolved());
1234 // and branch to a ExceptionSlowPath if it is.
1276 class Branch {
1316 // Branch length as a number of 4-byte-long instructions.
1318 // Ordinal number (0-based) of the first (or the only) instruction that contains the branch's
1325 // How large (in bits) a PC-relative offset can be for a given type of branch (kCondBranch is
1334 // Unconditional branch or call.
1335 Branch(uint32_t location, uint32_t target, bool is_call);
1336 // Conditional branch.
1337 Branch(uint32_t location,
1343 Branch(uint32_t location, GpuRegister dest_reg, Type label_or_literal_type);
1370 // Returns the bit size of the signed offset that the branch instruction can handle.
1376 // Branch instructions have signed offsets of 16, 19 (addiupc), 21 (beqzc/bnezc),
1382 // however. Consider the following implementation of a long unconditional branch, for
1393 // Therefore, the long branch range is something like from PC - 0x80000000 to
1400 // Resolve a branch when the target is known.
1403 // Relocate a branch by a given delta if needed due to expansion of this or another
1404 // branch at a given location by this delta (just changes location_ and target_).
1407 // If the branch is short, changes its type to long.
1410 // If necessary, updates the type by promoting a short branch to a long branch
1411 // based on the branch location and target. Returns the amount (in bytes) by
1412 // which the branch size has increased.
1422 // Calculates and returns the offset ready for encoding in the branch instruction(s).
1426 // Completes branch construction by determining and recording its type.
1440 Type type_; // Current type of the branch.
1441 Type old_type_; // Initial type of the branch.
1443 friend std::ostream& operator<<(std::ostream& os, const Branch::Type& rhs);
1444 friend std::ostream& operator<<(std::ostream& os, const Branch::OffsetBits& rhs);
1476 Branch* GetBranch(uint32_t branch_id);
1477 const Branch* GetBranch(uint32_t branch_id) const;
1483 void EmitBranch(Branch* branch);
1497 std::vector<Branch> branches_;