Go to file
Daniel Sanders 8ead1290e6 [globalisel][tablegen] Add support for C++ predicates on PatFrags and use it to support BFC on ARM.
So far, we've only handled special cases of PatFrag like ImmLeaf. This patch
adds support for the remaining cases using similar mechanisms.

Like most C++ code from SelectionDAG, GISel and DAGISel expect to operate on
different types and representations and as such the code is not compatible
between the two. It's therefore necessary to add an alternative implementation
in the GISelPredicateCode field.

The target test for this feature could easily be done with IntImmLeaf and this
would save on a little boilerplate. The reason I've chosen to implement this
using PatFrag.GISelPredicateCode and not IntImmLeaf is because I was unable to
find a rule that was blocked solely by lack of support for PatFrag predicates. I
found that the ones I investigated as being likely candidates for the test
were further blocked by other things.

llvm-svn: 334871
2018-06-15 23:13:43 +00:00
clang [docs] -fsanitize=cfi only allowed with -fvisibility= 2018-06-15 23:11:18 +00:00
clang-tools-extra [clang-tidy] This patch is a fix for D45405 where spaces were mistakenly considered as a part of a type name. So length("int *") was 5 instead of 3 with RemoveStars=0 or 4 with RemoveStars=1 2018-06-15 13:35:40 +00:00
compiler-rt [asan] Move long-object-path.cc test to Linux 2018-06-15 21:25:42 +00:00
debuginfo-tests [debuginfo-tests] Always use the system python to invoke llgdb.py. 2018-06-10 19:38:26 +00:00
libclc r600/fmin: Flush denormals before calling builtin. 2018-06-07 20:27:58 +00:00
libcxx [libcxx] [test] Strip trailing whitespace. NFC. 2018-06-14 00:12:20 +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 [ELF][MIPS] Fix stable_sort predicate to satisfy strict-ordering requirement. NFC 2018-06-15 18:15:26 +00:00
lldb Fix TestExec after r334783 2018-06-15 20:36:03 +00:00
llgo
llvm [globalisel][tablegen] Add support for C++ predicates on PatFrags and use it to support BFC on ARM. 2018-06-15 23:13:43 +00:00
openmp [OpenMP] Fix formatting issues in kmp_stats.h 2018-06-08 22:27:53 +00:00
parallel-libs
polly Simplify the implementation of getCUDALibDeviceFunction. NFC. 2018-06-14 08:54:55 +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.