summaryrefslogtreecommitdiffstats
path: root/llvm/utils
Commit message (Collapse)AuthorAgeFilesLines
* implement and document support for filecheck variables. ThisChris Lattner2009-09-271-43/+172
| | | | | | | | | | allows matching and remembering a string and then matching and verifying that the string occurs later in the file. Change X86/xor.ll to use this in some cases where the test was checking for an arbitrary register allocation decision. llvm-svn: 82891
* remove support for "NoSub" from regex. It seems like a minor optimizationChris Lattner2009-09-261-1/+1
| | | | | | and makes the API more annoying. Add a Regex::getNumMatches() method. llvm-svn: 82877
* Provide proper masks for neon perfect shuffle table.Anton Korobeynikov2009-09-251-6/+6
| | | | | | I definitely need to read documentation better :( llvm-svn: 82813
* Improve MachineMemOperand handling.Dan Gohman2009-09-251-18/+11
| | | | | | | | | | | | | | | | | | | | | - Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions. This eliminates MachineInstr's std::list member and allows the data to be created by isel and live for the remainder of codegen, avoiding a lot of copying and unnecessary translation. This also shrinks MemSDNode. - Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated fields for MachineMemOperands. - Change MemSDNode to have a MachineMemOperand member instead of its own fields with the same information. This introduces some redundancy, but it's more consistent with what MachineInstr will eventually want. - Ignore alignment when searching for redundant loads for CSE, but remember the greatest alignment. Target-specific code which previously used MemOperandSDNodes with generic SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range so that the SelectionDAG framework knows that MachineMemOperand information is available. llvm-svn: 82794
* Rename getTargetNode to getMachineNode, for consistency with theDan Gohman2009-09-251-3/+3
| | | | | | | | naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. llvm-svn: 82790
* reject attempts to use ()'s in patterns, these are reserved for filecheck.Chris Lattner2009-09-251-3/+15
| | | | llvm-svn: 82780
* reimplement the regex matching strategy by building a singleChris Lattner2009-09-251-88/+51
| | | | | | | | | | | | | | | | | 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
* special case Patterns that are a single fixed string. This is a microscopicChris Lattner2009-09-251-0/+16
| | | | | | perf win and is needed for future changes. llvm-svn: 82777
* filecheck should not match a \n with a .Chris Lattner2009-09-251-3/+1
| | | | llvm-svn: 82758
* turn a std::pair into a real class.Chris Lattner2009-09-251-23/+34
| | | | llvm-svn: 82754
* add and document regex support for FileCheck. You can now do stuff like:Chris Lattner2009-09-241-11/+116
| | | | | | | | ; CHECK: movl {{%e[a-z][xi]}}, %eax or whatever. llvm-svn: 82717
* Use CanonicalizeInputFile to canonicalize the entire buffer containing theChris Lattner2009-09-241-57/+40
| | | | | | | CHECK strings, instead of canonicalizing the patterns directly. This allows Pattern to just contain a StringRef instead of std::string. llvm-svn: 82713
* change 'not' matching to use Pattern, move pattern parsing logic intoChris Lattner2009-09-241-32/+51
| | | | | | the Pattern class. llvm-svn: 82712
* refactor out the match string into its own Pattern class.Chris Lattner2009-09-241-33/+50
| | | | llvm-svn: 82711
* Make the end-of-itinerary mark explicit. Some cleanup.David Goodwin2009-09-241-5/+3
| | | | llvm-svn: 82709
* Add count/not tools as executables.Daniel Dunbar2009-09-247-1/+121
| | | | | | - Apparently, I'm willing to do incredibly stupid things in the name of portability. llvm-svn: 82685
* lit: When executing shell scripts internally, don't allow piped stderr on anyDaniel Dunbar2009-09-221-3/+21
| | | | | | | commands except the last one, instead redirect the stderr to a temporary file. This sidesteps a potential deadlocking issue. llvm-svn: 82538
* Add a magic LLVM_DISABLE_CRT_DEBUG environment variable which we check in ↵Daniel Dunbar2009-09-221-0/+1
| | | | | | | | 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
* Actually use the arguments with the resolved executable path.Daniel Dunbar2009-09-221-1/+1
| | | | llvm-svn: 82527
* lit: Don't use close_fds=True on Windows.Daniel Dunbar2009-09-221-1/+5
| | | | llvm-svn: 82521
* lit: When executing commands internally, perform PATH resolution ourselves.Daniel Dunbar2009-09-221-2/+23
| | | | llvm-svn: 82520
* Use raw_ostream::indent instead of passing strings.Mikhail Glushenkov2009-09-211-145/+163
| | | | llvm-svn: 82456
* fix a FileCheck bug where:Chris Lattner2009-09-211-3/+3
| | | | | | | | | | ; CHECK: foo ; CHECK-NOT: foo ; CHECK: bar would always fail. llvm-svn: 82424
* rewrite CountNumNewlinesBetween to be in terms of StringRef.Chris Lattner2009-09-201-13/+15
| | | | llvm-svn: 82410
* implement and document support for CHECK-NOTChris Lattner2009-09-201-8/+50
| | | | llvm-svn: 82408
* rewrite FileCheck in terms of StringRef instead of manual pointer pairs.Chris Lattner2009-09-201-68/+37
| | | | llvm-svn: 82407
* Follow googletest logic for suppressing warnings in unittests/UnitTestMain.Daniel Dunbar2009-09-202-2/+4
| | | | llvm-svn: 82373
* convert some stuff to StringRef to avoid temporary std::strings.Chris Lattner2009-09-182-47/+47
| | | | llvm-svn: 82244
* add a comment.Chris Lattner2009-09-181-0/+5
| | | | llvm-svn: 82236
* lit: Add a custom test format for use in clang.Daniel Dunbar2009-09-162-1/+54
| | | | llvm-svn: 81987
* lit: When finding nested test suites, check first in the execpath in case thereDaniel Dunbar2009-09-151-13/+22
| | | | | | is a site configuration. llvm-svn: 81902
* Add a valgrind suppressions file for x86_64/linux/4.3.3.Daniel Dunbar2009-09-141-0/+23
| | | | llvm-svn: 81766
* lit: Give test formats control over test discovery.Daniel Dunbar2009-09-145-26/+100
| | | | llvm-svn: 81751
* slightly increase prettiness.Chris Lattner2009-09-141-2/+2
| | | | llvm-svn: 81742
* emit the register table as a massive string to avoid relocations.Chris Lattner2009-09-141-5/+16
| | | | llvm-svn: 81741
* move StringToOffsetTable out to its own header.Chris Lattner2009-09-142-56/+77
| | | | llvm-svn: 81740
* factor string table generation out to its own class. This changesChris Lattner2009-09-141-50/+73
| | | | | | the encoding of the AsmStrs table saving a byte or two. llvm-svn: 81739
* eliminate the TargetRegisterDesc::AsmName field, the asmprinters now have ↵Chris Lattner2009-09-131-6/+1
| | | | | | this table. llvm-svn: 81728
* Move unittest driver to utils/unittest/UnitTestMain.Daniel Dunbar2009-09-133-1/+35
| | | | | | | - This eliminates a race between building the unittests and linking the UnitTestMain library. llvm-svn: 81719
* the tblgen produced 'getRegisterName' method does not accessChris Lattner2009-09-131-1/+1
| | | | | | the object, make it static instead of const. llvm-svn: 81711
* make tblgen produce a function that returns the name for a physreg.Chris Lattner2009-09-132-8/+49
| | | | | | Nothing is using this info yet. llvm-svn: 81707
* tests: Add a %abs_tmp substitution which is guaranteed to be a full path.Daniel Dunbar2009-09-131-0/+2
| | | | llvm-svn: 81662
* Eliminate some unnecessary implicit constructors in generated DAG ISel code.Owen Anderson2009-09-111-1/+1
| | | | | | Partial fix for PR4946. llvm-svn: 81518
* PHI nodes can never reach the asmprinter, assert and die instead of printingChris Lattner2009-09-111-1/+2
| | | | | | out an illegal "PHINODE" instruction. llvm-svn: 81495
* Distinguish between 'empty' and empty DAG marker.Mikhail Glushenkov2009-09-101-1/+1
| | | | llvm-svn: 81448
* Add a logical 'not' operator to llvmc's TableGen dialect.Mikhail Glushenkov2009-09-101-0/+12
| | | | llvm-svn: 81447
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-091-4/+0
| | | | | | | | | | | | | 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
* Fix a subtle bug in "return;" generation which caused us to missChris Lattner2009-09-091-22/+3
| | | | | | | | 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
* hoist the call to processDebugLoc out of the generatedChris Lattner2009-09-091-2/+0
| | | | | | | | | | | | | 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
* Count test correctly with -q.Daniel Dunbar2009-09-091-0/+1
| | | | llvm-svn: 81313
OpenPOWER on IntegriCloud