summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/CodeGen/GlobalISel
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-08-29 21:00:00 +0000
committerTim Northover <tnorthover@apple.com>2016-08-29 21:00:00 +0000
commitf8bab1ce0cac4c802372af46cd4c0045eab6fdb4 (patch)
treefd823fb350c7044d853edfe44d714a6f0754a28a /llvm/unittests/CodeGen/GlobalISel
parentb3b5a7362c525c9e195e49cba31f4300aa491443 (diff)
downloadbcm5719-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.cpp2
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;
}
OpenPOWER on IntegriCloud