llvm-6502/lib
Eli Bendersky 6b731486d4 Add backreference matching capabilities to Support/Regex, with
appropriate unit tests. This change in itself is not expected to
affect any functionality at this point, but it will serve as a
stepping stone to improve FileCheck's variable matching capabilities.

Luckily, our regex implementation already supports backreferences,
although a bit of hacking is required to enable it. It supports both
Basic Regular Expressions (BREs) and Extended Regular Expressions
(EREs), without supporting backrefs for EREs, following POSIX strictly
in this respect. And EREs is what we actually use (rightly). This is
contrary to many implementations (including the default on Linux) of
POSIX regexes, that do allow backrefs in EREs.

Adding backref support to our EREs is a very simple change in the
regcomp parsing code. I fail to think of significant cases where it
would clash with existing things, and can bring more versatility to
the regexes we write. There's always the danger of a backref in a
specially crafted regex causing exponential matching times, but since
we mainly use them for testing purposes I don't think it's a big
problem. [it can also be placed behind a flag specific to FileCheck,
if needed].

For more details, see:

* http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-November/055840.html
* http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121126/156878.html



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168802 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-28 19:00:02 +00:00
..
Analysis Modified depends() to recognize that when all levels are "=" and 2012-11-27 19:12:26 +00:00
Archive Mark checkSignature const, and in turn stop casting away const from 2012-09-05 22:09:23 +00:00
AsmParser Add back support for reading and parsing 'deplibs'. 2012-11-28 08:41:48 +00:00
Bitcode Add back support for reading and parsing 'deplibs'. 2012-11-28 08:41:48 +00:00
CodeGen misched: Analysis that partitions the DAG into subtrees. 2012-11-28 05:13:28 +00:00
DebugInfo The section is .debug_line. 2012-11-27 01:40:36 +00:00
ExecutionEngine MCJIT depends on JIT. 2012-11-28 18:35:35 +00:00
Linker Remove the dependent libraries feature. 2012-11-27 09:55:56 +00:00
MC Add brief support for the fission .debug_info.dwo section for 2012-11-28 02:49:38 +00:00
Object s/assert/llvm_unreachable/ 2012-11-14 17:58:11 +00:00
Support Add backreference matching capabilities to Support/Regex, with 2012-11-28 19:00:02 +00:00
TableGen Remove exception handling usage from tblgen. 2012-10-25 20:33:17 +00:00
Target Fix initial frame state on powerpc64. 2012-11-28 18:21:03 +00:00
Transforms [asan] Split AddressSanitizer into two passes (FunctionPass, ModulePass), LLVM part. This requires a clang part which will follow. 2012-11-28 10:31:36 +00:00
VMCore Fix warning. [-Wunused-variable] 2012-11-28 14:32:52 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile