#include "src/codegen/source-position.h"
#include "src/compiler/backend/instruction-codes.h"
#include "src/compiler/backend/instruction.h"
#include "src/compiler/backend/jump-threading.h"
#include "test/cctest/cctest.h"
namespace v8 {
namespace internal {
namespace compiler {
class TestCode : public HandleAndZoneScope { … };
void VerifyForwarding(TestCode* code, int count, int* expected) { … }
TEST(FwEmpty1) { … }
TEST(FwEmptyN) { … }
TEST(FwNone1) { … }
TEST(FwMoves1) { … }
TEST(FwMoves2) { … }
TEST(FwMoves2b) { … }
TEST(FwMoves3a) { … }
TEST(FwMoves3b) { … }
TEST(FwOther2) { … }
TEST(FwNone2a) { … }
TEST(FwNone2b) { … }
TEST(FwLoop1) { … }
TEST(FwLoop2) { … }
TEST(FwLoop3) { … }
TEST(FwLoop1b) { … }
TEST(FwLoop2b) { … }
TEST(FwLoop3b) { … }
TEST(FwLoop2_1a) { … }
TEST(FwLoop2_1b) { … }
TEST(FwLoop2_1c) { … }
TEST(FwLoop2_1d) { … }
TEST(FwLoop3_1a) { … }
TEST(FwLoop4a) { … }
TEST(FwLoop4b) { … }
TEST(FwDiamonds) { … }
TEST(FwDiamonds2) { … }
TEST(FwDoubleDiamonds) { … }
template <int kSize>
void RunPermutationsRecursive(int outer[kSize], int start,
void (*run)(int*, int)) { … }
template <int kSize>
void RunAllPermutations(void (*run)(int*, int)) { … }
void PrintPermutation(int* permutation, int size) { … }
int find(int x, int* permutation, int size) { … }
void RunPermutedChain(int* permutation, int size) { … }
TEST(FwPermuted_chain) { … }
void RunPermutedDiamond(int* permutation, int size) { … }
TEST(FwPermuted_diamond) { … }
void ApplyForwarding(TestCode* code, int size, int* forward) { … }
void CheckJump(TestCode* code, int pos, int target) { … }
void CheckRet(TestCode* code, int pos) { … }
void CheckNop(TestCode* code, int pos) { … }
void CheckBranch(TestCode* code, int pos, int t1, int t2) { … }
void CheckAssemblyOrder(TestCode* code, int size, int* expected) { … }
TEST(Rewire1) { … }
TEST(Rewire1_deferred) { … }
TEST(Rewire2_deferred) { … }
TEST(Rewire_deferred_diamond) { … }
TEST(Rewire_diamond) { … }
TEST(RewireRet) { … }
TEST(RewireRet1) { … }
TEST(RewireRet2) { … }
TEST(DifferentSizeRet) { … }
TEST(RewireGapJump1) { … }
TEST(RewireGapJump2) { … }
}
}
}