diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-08-29 21:00:00 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-08-29 21:00:00 +0000 |
| commit | f8bab1ce0cac4c802372af46cd4c0045eab6fdb4 (patch) | |
| tree | fd823fb350c7044d853edfe44d714a6f0754a28a /llvm/unittests/CodeGen/GlobalISel | |
| parent | b3b5a7362c525c9e195e49cba31f4300aa491443 (diff) | |
| download | bcm5719-llvm-f8bab1ce0cac4c802372af46cd4c0045eab6fdb4.tar.gz bcm5719-llvm-f8bab1ce0cac4c802372af46cd4c0045eab6fdb4.zip | |
GlobalISel: use multi-dimensional arrays for legalize actions.
Instead of putting all possible requests into a single table, we can perform
the extremely dense lookup based on opcode and type-index in constant time
using multi-dimensional array-like things.
This roughly halves the time spent doing legalization, which was dominated by
queries against the Actions table.
llvm-svn: 280011
Diffstat (limited to 'llvm/unittests/CodeGen/GlobalISel')
| -rw-r--r-- | llvm/unittests/CodeGen/GlobalISel/MachineLegalizerTest.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/unittests/CodeGen/GlobalISel/MachineLegalizerTest.cpp b/llvm/unittests/CodeGen/GlobalISel/MachineLegalizerTest.cpp index f7544af25b4..f0b75731685 100644 --- a/llvm/unittests/CodeGen/GlobalISel/MachineLegalizerTest.cpp +++ b/llvm/unittests/CodeGen/GlobalISel/MachineLegalizerTest.cpp @@ -21,6 +21,7 @@ using llvm::MachineLegalizer::LegalizeAction::MoreElements; using llvm::MachineLegalizer::LegalizeAction::Libcall; using llvm::MachineLegalizer::LegalizeAction::Custom; using llvm::MachineLegalizer::LegalizeAction::Unsupported; +using llvm::MachineLegalizer::LegalizeAction::NotFound; // Define a couple of pretty printers to help debugging when things go wrong. namespace llvm { @@ -36,6 +37,7 @@ operator<<(std::ostream &OS, const llvm::MachineLegalizer::LegalizeAction Act) { case Libcall: OS << "Libcall"; break; case Custom: OS << "Custom"; break; case Unsupported: OS << "Unsupported"; break; + case NotFound: OS << "NotFound"; } return OS; } |

