OSDN Git Service

X8632 Templatization completed.
authorJohn Porto <jpp@chromium.org>
Tue, 7 Jul 2015 18:56:26 +0000 (11:56 -0700)
committerJohn Porto <jpp@chromium.org>
Tue, 7 Jul 2015 18:56:26 +0000 (11:56 -0700)
commit921856d4e4bd4f0deedc7324d5f6a4ca0be3439f
treecdbc55d3b3a78406e49f18515cdc58f69fb44a63
parenta83e9c1428bd15d933d28735fc7b550cbe81c856
X8632 Templatization completed.

This CL introduces the X86Inst templates. The previous implementation relied on template specialization which did not played nice with the new design. This required a lot of other boilerplate code (i.e., tons of new named constructors, one for each X86Inst.)

This CL also moves X8632 code out of the X86Base{Impl}?.h files so that they are **almost** target agnostic. As we move to adding other X86 targets more methods will be moved to the target-specific trait class (e.g., call/ret/argument lowering.)

BUG= https://code.google.com/p/nativeclient/issues/detail?id=4077
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/1216933015.
src/IceAssemblerX8632.h
src/IceAssemblerX86Base.h
src/IceInstX8632.cpp
src/IceInstX8632.h
src/IceInstX86Base.h [new file with mode: 0644]
src/IceInstX86BaseImpl.h [new file with mode: 0644]
src/IceTargetLoweringX8632.cpp
src/IceTargetLoweringX8632Traits.h
src/IceTargetLoweringX86Base.h
src/IceTargetLoweringX86BaseImpl.h