Jordy Rose
455bd58d4e
[analyzer] Cleanup: mainly 80-char violations and preferring SValBuilder::getComparisonType() to just referencing IntTy.
...
llvm-svn: 133149
2011-06-16 05:51:02 +00:00
John McCall
1d78d75a58
This random unit test also depends on ARCMigrate.
...
llvm-svn: 133148
2011-06-16 05:35:43 +00:00
John McCall
32e02a431b
c-index-test also depends on ARCMigrate, oh boy
...
llvm-svn: 133147
2011-06-16 05:29:03 +00:00
John McCall
2af9866fc9
ARCMigrate depends on libAnalysis, and on unhelpful linkers must appear
...
before it on the link line.
llvm-svn: 133145
2011-06-16 04:30:11 +00:00
John McCall
1553b19067
Restore correct use of GC barriers.
...
llvm-svn: 133144
2011-06-16 04:16:24 +00:00
Chandler Carruth
30f3210242
Fix my test case from r133136 so that it actually represents the code
...
pattern found in the wild where this warning was firing.
llvm-svn: 133143
2011-06-16 04:13:47 +00:00
Jakob Stoklund Olesen
72f4b85119
Prempt some obnoxious compiler from complaing about signed/unsigned
...
compares.
2^30 is actually the limit on the number of physical registers per
TargetRegisterInfo.h.
llvm-svn: 133142
2011-06-16 03:07:40 +00:00
Jakob Stoklund Olesen
e3ebb40ff1
Make sure to pass an unsigned to a printf format that is always %u.
...
This should unbreak the native ARM testers.
llvm-svn: 133141
2011-06-16 02:55:56 +00:00
Argyrios Kyrtzidis
bdf3ca9186
[arcmt] Fix tests in non-darwin.
...
llvm-svn: 133140
2011-06-16 02:41:46 +00:00
Eli Friedman
9b3d779537
FileCheck-ize test, and make it work on EABI hosts, like clang-native-arm-cortex-a9.
...
llvm-svn: 133139
2011-06-16 02:36:32 +00:00
Chandler Carruth
55b42d5ad4
Add another dependency to the clang-test CMake target, this time to support lit.
...
llvm-svn: 133138
2011-06-16 02:21:11 +00:00
Chandler Carruth
d8bc97c644
Add the new arcmt-test tool to the clang-test dependencies with
...
c-index-test and friends. This brings the failures on CMake clang tests
from 23 to 2 on Linux.
llvm-svn: 133137
2011-06-16 02:01:48 +00:00
Chandler Carruth
a05e09ba48
Skip both character pointers and void pointers when diagnosing bad
...
argument types for mem{set,cpy,move}. Character pointers, much like void
pointers, often point to generic "memory", so trying to check whether
they match the type of the argument to 'sizeof' (or other checks) is
unproductive and often results in false positives.
Nico, please review; does this miss any of the bugs you were trying to
find with this warning? The array test case you had should be caught by
the array-specific sizeof warning I think.
llvm-svn: 133136
2011-06-16 02:00:04 +00:00
Eli Friedman
575d0163bb
Force a triple here so this test doesn't fail on EABI hosts (like clang-native-arm-cortex-a9).
...
llvm-svn: 133134
2011-06-16 01:49:31 +00:00
Nick Lewycky
27d604cbf3
Commit the right set of tests for r133124. Sorry 'bout that!
...
llvm-svn: 133133
2011-06-16 01:35:45 +00:00
Andrew Trick
41369d5e8a
Reenabling this test with REQUIRES: Asserts
...
llvm-svn: 133132
2011-06-16 01:34:41 +00:00
Andrew Trick
6132fb5127
Add support to lit for build mode requirements. e.g.
...
REQUIRES: Asserts
REQUIRES: Debug
This required chaining test configuration properties. It seems like a
generally good thing to do.
llvm-svn: 133131
2011-06-16 01:33:35 +00:00
Andrew Trick
f008c3e518
Update clang's lit.site.cfg.in in preparation for adding config.llvm_build_modes.
...
llvm-svn: 133130
2011-06-16 01:32:21 +00:00
John McCall
e70c8987d3
Grr. Of course libARCMigrate depends on libRewrite. This is a lot to be
...
linking unnecessarily into libclang.
llvm-svn: 133129
2011-06-16 01:29:56 +00:00
Chad Rosier
aed609da92
Typos.
...
llvm-svn: 133128
2011-06-16 01:24:24 +00:00
Chad Rosier
2730162bee
Revision r128665 added an optimization to make use of NEON multiplier
...
accumulator forwarding. Specifically (from SVN log entry):
Distribute (A + B) * C to (A * C) + (B * C) to make use of NEON multiplier
accumulator forwarding:
vadd d3, d0, d1
vmul d3, d3, d2
=>
vmul d3, d0, d2
vmla d3, d1, d2
Make sure it catches cases where operand 1 is add/fadd/sub/fsub, which was
intended in the original revision.
llvm-svn: 133127
2011-06-16 01:21:54 +00:00
John McCall
17b4c83c91
Make this test pretend to be on a darwin host.
...
llvm-svn: 133125
2011-06-16 01:18:08 +00:00
Nick Lewycky
6d677cfdd8
Add a DAGCombine for (ext (binop (load x), cst)).
...
llvm-svn: 133124
2011-06-16 01:15:49 +00:00
John McCall
54507ab83c
Weaken the type-matching rules for methods that return aggregates when
...
complaining about mismatches in the global method pool.
llvm-svn: 133123
2011-06-16 01:15:19 +00:00
Chandler Carruth
b00e8c0cad
Refactor parentheses suggestion notes to have less code duplication and
...
be more consistent in how parenthesized ranges which hit macros are
handled. Also makes the code significantly shorter, and the diagnostics
when macros are present a bit more useful.
Pair programmed w/ Matthew.
llvm-svn: 133122
2011-06-16 01:05:14 +00:00
Chandler Carruth
f8e06c96ca
Make the presentation of the warnings on 'x + y ? 1 : 0' a bit more
...
pretty. In particular this makes it much easier for me to read messages
such as:
x.cc:42: ?: has lower ...
Where I'm inclined to associate the third ':' with a missing column
number, but in fact column numbers have been turned off. Similar
punctuation collisions happened elsewhere as well.
llvm-svn: 133121
2011-06-16 01:05:12 +00:00
Chandler Carruth
08dc2ba4df
Cleanup the parameter naming style.
...
llvm-svn: 133120
2011-06-16 01:05:08 +00:00
Argyrios Kyrtzidis
6e4ef20baf
[arcmt] Make arcmt-test accept cc1 options to make it more portable and hopefully fix MSVC failures.
...
llvm-svn: 133119
2011-06-16 00:53:46 +00:00
Bruno Cardoso Lopes
5444a7b4cd
Silence warnings in non assert builds. Patch by David Blaikie
...
llvm-svn: 133118
2011-06-16 00:40:02 +00:00
John McCall
0a6ba2684f
libFrontend depends on ARCMigrate, so link it into libclang.
...
llvm-svn: 133116
2011-06-16 00:38:00 +00:00
Anna Zaks
a56e84e439
Rename the test. Thanks Cameron! Use shorter/generic names.
...
llvm-svn: 133115
2011-06-16 00:34:10 +00:00
John McCall
ada065ff52
Give this test a triple; I don't think we want to #define __unsafe_unretained
...
on all platforms in non-ARC mode.
llvm-svn: 133114
2011-06-16 00:32:01 +00:00
Anna Zaks
2c2aa9a9be
Function::getNumBlockIDs() should be used instead of Function::size() to set the upper limit on the block IDs since basic blocks might get removed (simplified away) after being initially numbered. Plus the test case, in which SelectionDAGBuilder::visitBr() calls llvm::MachineFunction::removeFromMBBNumbering(), which introduces the hole in numbering leading to an assert in llc (prior to the fix).
...
llvm-svn: 133113
2011-06-16 00:03:21 +00:00
John McCall
5d36a8cc70
Unconditionally #define the ARC ownership qualifiers, instead of #defining
...
them only on Darwin tool chains.
llvm-svn: 133112
2011-06-16 00:03:19 +00:00
Eli Friedman
8b098b0d57
Add a limit to the number of instructions memdep will scan in a single block. This prevents (at least in some cases) O(N^2) runtime in passes like DSE.
...
The limit in this patch is probably too high, but it is enough to stop DSE from going completely insane on a testcase I have (which has a single block with around 50,000 non-aliasing stores in it).
rdar://9471075
llvm-svn: 133111
2011-06-15 23:59:25 +00:00
John McCall
101236969f
Suppress a warning in -Asserts builds.
...
llvm-svn: 133110
2011-06-15 23:40:09 +00:00
John McCall
3f3488e7d7
Suppress an over-zealous MSVC warning.
...
llvm-svn: 133109
2011-06-15 23:39:23 +00:00
John McCall
d935e9c359
The ARC language-specific optimizer. Credit to Dan Gohman.
...
llvm-svn: 133108
2011-06-15 23:37:01 +00:00
Dylan Noblesmith
c8c184d2f8
unittests: add test for APInt::toString()
...
Follow up to r133032.
llvm-svn: 133107
2011-06-15 23:36:34 +00:00
Owen Anderson
96adc4a540
Add a new MVT::untyped. This will be used in future work for modelling ISA features like register pairs and lists with "interesting" constraints (such as ARM NEON contiguous register lists or even-odd paired registers). We need to be able to generate these instructions (often from intrinsics), but don't want to have to assign a legal type to them. Instead, we'll use an "untyped" edge to bypass the type-checking and simply ensure that the register classes match.
...
llvm-svn: 133106
2011-06-15 23:35:18 +00:00
Jakob Stoklund Olesen
99f35eab45
Use set operations instead of plain lists to enumerate register classes.
...
This simplifies many of the target description files since it is common
for register classes to be related or contain sequences of numbered
registers.
I have verified that this doesn't change the files generated by TableGen
for ARM and X86. It alters the allocation order of MBlaze GPR and Mips
FGR32 registers, but I believe the change is benign.
llvm-svn: 133105
2011-06-15 23:28:14 +00:00
John McCall
d70fb9812a
The ARC Migration Tool. All the credit goes to Argyrios and Fariborz
...
for this.
llvm-svn: 133104
2011-06-15 23:25:17 +00:00
John McCall
31168b077c
Automatic Reference Counting.
...
Language-design credit goes to a lot of people, but I particularly want
to single out Blaine Garst and Patrick Beard for their contributions.
Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself,
in no particular order.
llvm-svn: 133103
2011-06-15 23:02:42 +00:00
John McCall
ce45f88e45
Introduce a utility routine for checking whether a block's captures
...
include a specific variable.
llvm-svn: 133102
2011-06-15 22:51:16 +00:00
Johnny Chen
5a0bee7c5f
The extra burden for the Python API test case to assign its process object to self.process
...
in order to have its process cleaned up (terminated) upon tearDown is gone for good.
Let's simplify a bunch of Python API test cases.
llvm-svn: 133097
2011-06-15 22:14:12 +00:00
John McCall
c20b1393e1
Missing files.
...
llvm-svn: 133096
2011-06-15 22:11:51 +00:00
Eli Friedman
f7456194a3
Per Chris's suggestion, simplify code using llvm::getOrEnforceKnownAlignment.
...
llvm-svn: 133095
2011-06-15 22:09:18 +00:00
John McCall
a877d9231d
Generate enumerators for diagnostic categories. Patch by Argyrios!
...
Depends on LLVM r133093.
llvm-svn: 133094
2011-06-15 21:46:43 +00:00
John McCall
7cfd1cfa86
Update the Clang diagnostic emitter to emit IDs for diagnostic categories.
...
Patch by Argyrios Kyrtzidis.
llvm-svn: 133093
2011-06-15 21:43:52 +00:00
Johnny Chen
5b67ca8cc4
Simplify the base test class. Remove keyword argument setCookie from TestBase.runCmd() and
...
remove the self.runStarted attribute since the automatic shutdown of processes associated
with the targets are now performed automatically.
llvm-svn: 133092
2011-06-15 21:38:39 +00:00