Chris Lattner
7143d73e96
reject attempts to use ()'s in patterns, these are reserved for filecheck.
...
llvm-svn: 82780
2009-09-25 17:29:36 +00:00
Chris Lattner
2b1f7c6a75
reimplement the regex matching strategy by building a single
...
regex and matching it instead of trying to match chunks at a time.
Matching chunks at a time broke with check lines like
CHECK: foo {{.*}}bar
because the .* would eat the entire rest of the line and bar would
never match.
Now we just escape the fixed strings for the user, so that something
like:
CHECK: a() {{.*}}???
is matched as:
CHECK: {{a\(\) .*\?\?\?}}
transparently "under the covers".
llvm-svn: 82779
2009-09-25 17:23:43 +00:00
Chris Lattner
fed266aae9
special case Patterns that are a single fixed string. This is a microscopic
...
perf win and is needed for future changes.
llvm-svn: 82777
2009-09-25 17:09:12 +00:00
Chris Lattner
2bf0d0ca42
filecheck should not match a \n with a .
...
llvm-svn: 82758
2009-09-25 06:47:09 +00:00
Chris Lattner
a6bcda7a8a
turn a std::pair into a real class.
...
llvm-svn: 82754
2009-09-25 06:32:47 +00:00
Chris Lattner
af2ce37cb3
add and document regex support for FileCheck. You can now do stuff like:
...
; CHECK: movl {{%e[a-z][xi]}}, %eax
or whatever.
llvm-svn: 82717
2009-09-24 21:47:32 +00:00
Chris Lattner
97cf81c3c6
Use CanonicalizeInputFile to canonicalize the entire buffer containing the
...
CHECK strings, instead of canonicalizing the patterns directly. This allows
Pattern to just contain a StringRef instead of std::string.
llvm-svn: 82713
2009-09-24 20:45:07 +00:00
Chris Lattner
5f3b698a06
change 'not' matching to use Pattern, move pattern parsing logic into
...
the Pattern class.
llvm-svn: 82712
2009-09-24 20:39:13 +00:00
Chris Lattner
756adfb5ca
refactor out the match string into its own Pattern class.
...
llvm-svn: 82711
2009-09-24 20:25:55 +00:00
David Goodwin
3ac3dcacc7
Make the end-of-itinerary mark explicit. Some cleanup.
...
llvm-svn: 82709
2009-09-24 20:22:50 +00:00
Daniel Dunbar
15437d0bd2
Add count/not tools as executables.
...
- Apparently, I'm willing to do incredibly stupid things in the name of portability.
llvm-svn: 82685
2009-09-24 06:23:57 +00:00
Daniel Dunbar
b8a623820a
lit: When executing shell scripts internally, don't allow piped stderr on any
...
commands except the last one, instead redirect the stderr to a temporary
file. This sidesteps a potential deadlocking issue.
llvm-svn: 82538
2009-09-22 09:50:38 +00:00
Daniel Dunbar
06695b3ea1
Add a magic LLVM_DISABLE_CRT_DEBUG environment variable which we check in RegisterHandler and use to disable the Win32 crash dialogs. These are a major blocker to any kind of automated testing.
...
Also, tweak the 'lit' test runner to set this variable unconditionally.
llvm-svn: 82537
2009-09-22 09:50:28 +00:00
Daniel Dunbar
3ea67f7fdc
Actually use the arguments with the resolved executable path.
...
llvm-svn: 82527
2009-09-22 06:09:13 +00:00
Daniel Dunbar
797bf7ca92
lit: Don't use close_fds=True on Windows.
...
llvm-svn: 82521
2009-09-22 04:44:37 +00:00
Daniel Dunbar
79874e8a8e
lit: When executing commands internally, perform PATH resolution ourselves.
...
llvm-svn: 82520
2009-09-22 04:44:26 +00:00
Mikhail Glushenkov
487c2ba4ee
Use raw_ostream::indent instead of passing strings.
...
llvm-svn: 82456
2009-09-21 15:53:44 +00:00
Chris Lattner
82a963788d
fix a FileCheck bug where:
...
; CHECK: foo
; CHECK-NOT: foo
; CHECK: bar
would always fail.
llvm-svn: 82424
2009-09-21 02:30:42 +00:00
Chris Lattner
d5f420ca4d
rewrite CountNumNewlinesBetween to be in terms of StringRef.
...
llvm-svn: 82410
2009-09-20 22:42:44 +00:00
Chris Lattner
63735b5e10
implement and document support for CHECK-NOT
...
llvm-svn: 82408
2009-09-20 22:35:26 +00:00
Chris Lattner
4552cc1387
rewrite FileCheck in terms of StringRef instead of manual pointer pairs.
...
llvm-svn: 82407
2009-09-20 22:11:44 +00:00
Daniel Dunbar
b8eed72232
Follow googletest logic for suppressing warnings in unittests/UnitTestMain.
...
llvm-svn: 82373
2009-09-20 06:17:12 +00:00
Chris Lattner
194391ddb7
convert some stuff to StringRef to avoid temporary std::strings.
...
llvm-svn: 82244
2009-09-18 18:31:37 +00:00
Chris Lattner
d600c9342b
add a comment.
...
llvm-svn: 82236
2009-09-18 18:10:19 +00:00
Daniel Dunbar
dadd71259e
lit: Add a custom test format for use in clang.
...
llvm-svn: 81987
2009-09-16 01:34:52 +00:00
Daniel Dunbar
3d79f78d69
lit: When finding nested test suites, check first in the execpath in case there
...
is a site configuration.
llvm-svn: 81902
2009-09-15 20:09:17 +00:00
Daniel Dunbar
35a1ac3e03
Add a valgrind suppressions file for x86_64/linux/4.3.3.
...
llvm-svn: 81766
2009-09-14 16:10:32 +00:00
Daniel Dunbar
2808cdfdbe
lit: Give test formats control over test discovery.
...
llvm-svn: 81751
2009-09-14 02:38:46 +00:00
Chris Lattner
c87179b542
slightly increase prettiness.
...
llvm-svn: 81742
2009-09-14 01:27:50 +00:00
Chris Lattner
c4a64a08ec
emit the register table as a massive string to avoid relocations.
...
llvm-svn: 81741
2009-09-14 01:26:18 +00:00
Chris Lattner
d823d97b3a
move StringToOffsetTable out to its own header.
...
llvm-svn: 81740
2009-09-14 01:19:16 +00:00
Chris Lattner
68ed8d21f8
factor string table generation out to its own class. This changes
...
the encoding of the AsmStrs table saving a byte or two.
llvm-svn: 81739
2009-09-14 01:16:36 +00:00
Chris Lattner
b88e0d1715
eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have this table.
...
llvm-svn: 81728
2009-09-13 22:45:04 +00:00
Daniel Dunbar
b57fad2300
Move unittest driver to utils/unittest/UnitTestMain.
...
- This eliminates a race between building the unittests and linking the
UnitTestMain library.
llvm-svn: 81719
2009-09-13 21:31:21 +00:00
Chris Lattner
20b7392123
the tblgen produced 'getRegisterName' method does not access
...
the object, make it static instead of const.
llvm-svn: 81711
2009-09-13 20:19:22 +00:00
Chris Lattner
0cde5283e3
make tblgen produce a function that returns the name for a physreg.
...
Nothing is using this info yet.
llvm-svn: 81707
2009-09-13 20:08:00 +00:00
Daniel Dunbar
e19b42b927
tests: Add a %abs_tmp substitution which is guaranteed to be a full path.
...
llvm-svn: 81662
2009-09-13 01:39:50 +00:00
Owen Anderson
22963ef40a
Eliminate some unnecessary implicit constructors in generated DAG ISel code.
...
Partial fix for PR4946.
llvm-svn: 81518
2009-09-11 09:01:57 +00:00
Chris Lattner
b5243d77cb
PHI nodes can never reach the asmprinter, assert and die instead of printing
...
out an illegal "PHINODE" instruction.
llvm-svn: 81495
2009-09-11 00:41:15 +00:00
Mikhail Glushenkov
65831e2bf2
Distinguish between 'empty' and empty DAG marker.
...
llvm-svn: 81448
2009-09-10 16:22:02 +00:00
Mikhail Glushenkov
49c2b6f4fb
Add a logical 'not' operator to llvmc's TableGen dialect.
...
llvm-svn: 81447
2009-09-10 16:21:38 +00:00
Chris Lattner
b9aca1a178
remove DebugLoc from MCInst and eliminate "Comment printing" from
...
the MCInst path of the asmprinter. Instead, pull comment printing
out of the autogenerated asmprinter into each target that uses the
autogenerated asmprinter. This causes code duplication into each
target, but in a way that will be easier to clean up later when more
asmprinter stuff is commonized into the base AsmPrinter class.
This also fixes an xcore strangeness where it inserted two tabs
before every instruction.
llvm-svn: 81396
2009-09-09 23:14:36 +00:00
Chris Lattner
2a098581a8
Fix a subtle bug in "return;" generation which caused us to miss
...
a return in one case. Instead of sprinking return handling code
throughout the asmprinter generator, just treat it like any other
normal statement.
llvm-svn: 81395
2009-09-09 23:09:29 +00:00
Chris Lattner
52651f7623
hoist the call to processDebugLoc out of the generated
...
asm printer into the "printInstruction" routine. This
fixes a problem where the experimental asmprinter would
drop debug labels in some cases, and fixes issues on ppc/xcore
where pseudo instructions like "mr" didn't get debug locs properly.
It is annoying that this moves the call from one place into each
target, but a future set of more invasive refactorings will fix
that problem.
llvm-svn: 81377
2009-09-09 20:34:59 +00:00
Daniel Dunbar
a2c2d27cb7
Count test correctly with -q.
...
llvm-svn: 81313
2009-09-09 02:41:42 +00:00
Daniel Dunbar
338ea74b7e
Fix another refactoro.
...
llvm-svn: 81312
2009-09-09 02:41:32 +00:00
Daniel Dunbar
ca1a6d222f
lit needs bash for tcl-as-sh execution, we use set -o pipefail.
...
llvm-svn: 81197
2009-09-08 06:08:07 +00:00
Daniel Dunbar
57ad7988fd
Fix typo that worked on python 2.6.
...
Also, fix unit tests.
llvm-svn: 81194
2009-09-08 05:46:28 +00:00
Daniel Dunbar
e82e000211
Fix a refactoro.
...
llvm-svn: 81192
2009-09-08 05:37:51 +00:00
Daniel Dunbar
640436d7af
Add 'lit' testing tool.
...
- make install && man $(llvm-config --prefix)/share/man/man1/lit.1 for more
information.
llvm-svn: 81190
2009-09-08 05:31:18 +00:00