Go to file
Roman Tereshin b1ba127aa8 [GlobalISel][InstructionSelect] Moving type checks forward, perf patch 6
This patch continues a series of patches started by r332907 (reapplied
as r332917)

In this commit we sort type checks towards the beginning of every rule
within the MatchTable as they fail often and it's best to fail early.

This is expected to decrease time GlobalISel spends in its
InstructionSelect pass by roughly 7% for an -O0 build as measured on
sqlite3-amalgamation (http://sqlite.org/download.html) targeting
AArch64. The amalgamation is a large single-file C-source that makes
compiler backend performance improvements to stand out from frontend.
It's also a part of CTMark.

Reviewers: qcolombet, dsanders, bogner, aemerson, javed.absar

Reviewed By: qcolombet

Subscribers: rovka, llvm-commits, kristof.beyls

Differential Revision: https://reviews.llvm.org/D44700

llvm-svn: 333114
2018-05-23 19:16:59 +00:00
clang [X86] Move all Intel defined intrinsic includes into immintrin.h 2018-05-23 18:32:58 +00:00
clang-tools-extra [Documentation] Fix link syntax in Release Notes. 2018-05-23 17:39:46 +00:00
compiler-rt [sanitizer] Define UINTPTR_MAX 2018-05-23 18:13:21 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc Add initial support for half precision builtins 2018-05-17 22:55:30 +00:00
libcxx Do not define template specialization __libcpp_is_floating_point<__fp16> 2018-05-23 17:50:41 +00:00
libcxxabi private_typeinfo: limit is_dst_type_derived_from_static_type optimization 2018-05-18 20:51:38 +00:00
libunwind [OR1K] Add the EPCR special-purpose register to register state. 2018-05-16 19:09:48 +00:00
lld Revert "[ELF] Simplify. NFC" 2018-05-23 16:51:23 +00:00
lldb Fix PathMappingList tests on windows 2018-05-23 10:32:05 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [GlobalISel][InstructionSelect] Moving type checks forward, perf patch 6 2018-05-23 19:16:59 +00:00
openmp [libomptarget-nvptx-bc] Pass found CUDA installations 2018-05-16 17:20:27 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly createNextIterationMap from C to C++ interface 2018-05-23 18:41:40 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.