Jakob Stoklund Olesen
2ba26ceb11
Report errors correctly for unselected target intrinsics.
...
llvm-svn: 84193
2009-10-15 18:50:03 +00:00
Edward O'Callaghan
00f4a355eb
Haiku porting patches, Credit to Paul Davey.
...
llvm-svn: 83823
2009-10-12 04:57:20 +00:00
Mikhail Glushenkov
ec9baa8e47
Omit the 'out_file_index != -1' check when possible.
...
llvm-svn: 83619
2009-10-09 05:45:21 +00:00
Mikhail Glushenkov
c802d57e52
Input files should go before all other options.
...
Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.
llvm-svn: 83524
2009-10-08 04:40:08 +00:00
Evan Cheng
8ea3f4a592
Add instruction flags: hasExtraSrcRegAllocReq and hasExtraDefRegAllocReq. When
...
set, these flags indicate the instructions source / def operands have special
register allocation requirement that are not captured in their register classes.
Post-allocation passes (e.g. post-alloc scheduler) should not change their
allocations. e.g. ARM::LDRD require the two definitions to be allocated
even / odd register pair.
llvm-svn: 83196
2009-10-01 08:21:18 +00:00
Stuart Hastings
3843d7f06d
B&I's buildit forces a PATH that omits /Developer. Temporarily add
...
/Developer/usr/bin to the PATH when looking for llvm-gcc.
llvm-svn: 83028
2009-09-28 23:42:38 +00:00
Stuart Hastings
5de4dcc406
For B&I-style builds, tweak build_llvm script to prefer LLVM-G++ if
...
available. Override by setting CC and CXX in the environment.
llvm-svn: 83024
2009-09-28 22:17:53 +00:00
Jakob Stoklund Olesen
31fcbdefbb
Introduce the TargetInstrInfo::KILL machine instruction and get rid of the
...
unused DECLARE instruction.
KILL is not yet used anywhere, it will replace TargetInstrInfo::IMPLICIT_DEF
in the places where IMPLICIT_DEF is just used to alter liveness of physical
registers.
llvm-svn: 83006
2009-09-28 20:32:26 +00:00
Daniel Dunbar
92fcc49c24
Don't traverse into .svn directories.
...
llvm-svn: 82978
2009-09-28 07:32:45 +00:00
Mikhail Glushenkov
b676fc15a0
Add a way to query the number of input files.
...
llvm-svn: 82957
2009-09-28 01:16:42 +00:00
Mikhail Glushenkov
ef0b5e2f1a
A bit prettier formatting.
...
llvm-svn: 82955
2009-09-28 01:15:44 +00:00
Chris Lattner
80d69b5973
implement and document support for filecheck variables. This
...
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
2009-09-27 07:56:52 +00:00
Chris Lattner
b47463f436
remove support for "NoSub" from regex. It seems like a minor optimization
...
and makes the API more annoying. Add a Regex::getNumMatches() method.
llvm-svn: 82877
2009-09-26 21:27:04 +00:00
Anton Korobeynikov
4e921137da
Provide proper masks for neon perfect shuffle table.
...
I definitely need to read documentation better :(
llvm-svn: 82813
2009-09-25 22:52:29 +00:00
Dan Gohman
0ac693a89e
Improve MachineMemOperand handling.
...
- 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
2009-09-25 20:36:54 +00:00
Dan Gohman
0c4e55a2f8
Rename getTargetNode to getMachineNode, for consistency with the
...
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
2009-09-25 18:54:59 +00:00
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