Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 0e5227d

Browse files
committed
Refactor RyuJIT/x86 long decomposition code
All decomposition code is now in decompose.cpp, in a Decompose class. Each node type that is decomposed has its own member function to do the decomposition. Various helpers have been added to reduce code duplication. In general, though, the code is as it was before.
1 parent 57b3450 commit 0e5227d

File tree

7 files changed

+1284
-833
lines changed

7 files changed

+1284
-833
lines changed

src/jit/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ if(CLR_CMAKE_TARGET_ARCH_AMD64)
8484
elseif(CLR_CMAKE_TARGET_ARCH_ARM)
8585
set( ARCH_SOURCES
8686
codegenarm.cpp
87+
decomposelongs.cpp
8788
emitarm.cpp
8889
lowerarm.cpp
8990
targetarm.cpp
@@ -92,6 +93,7 @@ elseif(CLR_CMAKE_TARGET_ARCH_ARM)
9293
elseif(CLR_CMAKE_TARGET_ARCH_I386)
9394
set( ARCH_SOURCES
9495
codegenxarch.cpp
96+
decomposelongs.cpp
9597
emitxarch.cpp
9698
lowerxarch.cpp
9799
simd.cpp

src/jit/compiler.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1385,6 +1385,10 @@ class Compiler
13851385
friend class LclVarDsc;
13861386
friend class TempDsc;
13871387

1388+
#ifndef _TARGET_64BIT_
1389+
friend class DecomposeLongs;
1390+
#endif // !_TARGET_64BIT_
1391+
13881392
/*
13891393
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
13901394
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

0 commit comments

Comments
 (0)