Anna Zaks
15ca5e7a21
[analyzer] Fix a bug where PathDiagnosticLocation did not generate a valid range and add asserts to check validity of locations early on. Ignore invalid ranges in PathDiagnosticPiece (they could be added by checker writers).
...
Addresses radar://10124836 and radar://radar10102244.
llvm-svn: 140218
2011-09-21 00:35:58 +00:00
Owen Anderson
69fa8ffeef
In the disassembler C API, be careful not to confuse the comment streamer that the disassembler outputs annotations on with the streamer that the InstPrinter will print them on.
...
llvm-svn: 140217
2011-09-21 00:25:23 +00:00
Eric Christopher
155137bd10
Remove llvm-gcc and various compiler handling from llvm. It's not needed
...
here anymore and has been migrated to the test-suite project.
llvm-svn: 140216
2011-09-20 23:58:15 +00:00
Akira Hatanaka
bb49e721b8
Change the names of functions isMips* to hasMips*.
...
llvm-svn: 140214
2011-09-20 23:53:09 +00:00
Bill Wendling
36faa4d49c
This test is completely invalid with the modern EH model. Delete.
...
llvm-svn: 140213
2011-09-20 23:52:09 +00:00
Argyrios Kyrtzidis
712512bb36
[ARC] Allow forming 'id*' in an unevaluated context. Fixes rdar://10148540.
...
llvm-svn: 140212
2011-09-20 23:49:22 +00:00
Johnny Chen
86364b4521
Add some watchpoint maintenance methods to the Target class.
...
Plus some minor changes to the WatchpointLocationList and WatchpointLocation classes.
llvm-svn: 140211
2011-09-20 23:28:55 +00:00
Eli Friedman
1815b688cc
Make sure IPSCCP never marks a tracked call as overdefined in SCCPSolver::ResolvedUndefsIn. If we do, we can end up in a situation where a function is resolved to return a constant, but the caller is marked overdefined, which confuses the code later.
...
<rdar://problem/9956541> (again).
llvm-svn: 140210
2011-09-20 23:28:51 +00:00
Argyrios Kyrtzidis
b573542e10
[PCH] Don't store the source range for each preprocessed entity since
...
we already have the range in the PPEntityOffsets array.
llvm-svn: 140209
2011-09-20 23:27:41 +00:00
Argyrios Kyrtzidis
86ec600f57
[PCH] Merge ASTReader::LoadPreprocessedEntity with ReadPreprocessedEntity
...
and don't store the ID for each preprocessed entity.
llvm-svn: 140208
2011-09-20 23:27:38 +00:00
Argyrios Kyrtzidis
45e8cf5732
[libclang] When pointing at a macro expansion inside a macro argument,
...
return a cursor for the inner macro.
llvm-svn: 140207
2011-09-20 23:27:33 +00:00
Anna Zaks
d70da08160
[analyzer] Refactor PathDiagnosticLocation: Remove SourceRange member from PathDiagnosticLocation - FullSourceLoc Loc and PathDiagnosticRange Range are sufficient.
...
llvm-svn: 140206
2011-09-20 23:27:32 +00:00
Jason Molenda
ca0e3fa325
One last printf-style call cleanup.
...
llvm-svn: 140205
2011-09-20 23:23:44 +00:00
Bruno Cardoso Lopes
6cb23f6e7f
Add a DAGCombine for subvector extracts to remove useless chains of
...
subvector inserts and extracts. Initial patch by Rackover, Zvi with
some tweak done by me.
llvm-svn: 140204
2011-09-20 23:19:33 +00:00
Bruno Cardoso Lopes
8058234b32
Revert r140097, working on a better approach
...
llvm-svn: 140203
2011-09-20 23:19:29 +00:00
Sean Callanan
90539456a1
Fixed a problem where expressions would attempt to
...
allocate memory in a process that did not support
expression execution. Also improved detection of
whether or not a process can execute expressions.
llvm-svn: 140202
2011-09-20 23:01:51 +00:00
Ivan Krasin
5227ea6028
lib/Linker: add support of deps which does not end with ".so".
...
It happens (for example) when you want to have a dependency on the .so
with the specific version, like liblzma.so.1.0.0 or
libcrypto.so.0.9.8.
llvm-svn: 140201
2011-09-20 22:52:35 +00:00
Anna Zaks
6422e95c66
[analyzer] Refactor PathDiagnosticLocation: Add comments. Remove the last constructor which could allow invalid locations to slip in.
...
llvm-svn: 140200
2011-09-20 22:43:32 +00:00
Bruno Cardoso Lopes
f7638e1e51
Simplify max/minp[s|d] dagcombine matching
...
llvm-svn: 140199
2011-09-20 22:34:45 +00:00
Anna Zaks
6800ab437c
[analyzer] Remove dead code. (This code is trying to implement the idea that PathDiagnosticClient could implement DiagnosticClient and has been dead for a while).
...
llvm-svn: 140198
2011-09-20 22:30:48 +00:00
Bill Wendling
cf1372d183
Update this test to the new EH model.
...
Though I think it may be obsolete with the loop extract changes. And I couldn't
get the old version of LLVM to compile so that I could reduce this testcase.
llvm-svn: 140197
2011-09-20 22:29:43 +00:00
Bill Wendling
a6e1c51ed7
Relax this condition.
...
Some passes require breaking critical edges before they're called. Don't
segfault because of that.
llvm-svn: 140196
2011-09-20 22:28:17 +00:00
Bill Wendling
04289fcad8
Place the check for an exit landing pad where it will be run on both code paths through the if-then-else.
...
llvm-svn: 140195
2011-09-20 22:27:16 +00:00
Eric Christopher
818584529e
Fix typos.
...
llvm-svn: 140194
2011-09-20 22:26:35 +00:00
Bill Wendling
0058520770
Omit extracting a loop if one of the exits is a landing pad.
...
The landing pad must accompany the invoke when it's extracted. However, if it
does, then the loop isn't properly extracted. I.e., the resulting extraction has
a loop in it. The extracted function is then extracted, etc. resulting in an
infinite loop.
llvm-svn: 140193
2011-09-20 22:23:09 +00:00
Argyrios Kyrtzidis
7c2b28a16f
In SourceManager::translateLineCol, handle the case where we are pointing
...
directly at the end of the source file.
llvm-svn: 140192
2011-09-20 22:14:54 +00:00
Argyrios Kyrtzidis
b89327ec84
Remove PreprocessingDirectiveKind since it's not necessary.
...
llvm-svn: 140191
2011-09-20 22:14:52 +00:00
Argyrios Kyrtzidis
0d48fb89c0
The location of the name in MacroDefinition is the beginning of its range,
...
don't store an extra location for it.
llvm-svn: 140190
2011-09-20 22:14:48 +00:00
Francois Pichet
b3642c2c7a
Move Microsoft access specifier bug emulation from -fms-extensions to -fm-compatibility.
...
llvm-svn: 140189
2011-09-20 22:08:26 +00:00
Bob Wilson
49621cb209
Remove the hack to check UNAME_RELEASE when identifying the Darwin version.
...
This was only needed to locate llvm-gcc's installation directory when clang
falls back to run llvm-gcc for i386 kexts. As of clang svn r140187, we're
now just searching paths with several different Darwin versions on either
side of the current version, so this is no longer needed.
llvm-svn: 140188
2011-09-20 22:05:56 +00:00
Bob Wilson
3e42bc55db
For i386 kext fallback to llvm-gcc, search paths for several Darwin versions.
...
This replaces the hack to read UNAME_RELEASE from the environment when
identifying the OS version on Darwin, and it's more flexible. It's also
horribly ugly, but at least this consolidates the ugliness to touch less of
the code so that it will be easier to rip out later.
llvm-svn: 140187
2011-09-20 22:00:38 +00:00
Bruno Cardoso Lopes
60aa85b672
Tidy up a bit more, fix tab and remove trailing whitespaces
...
llvm-svn: 140186
2011-09-20 21:45:26 +00:00
Jason Molenda
fd54b368ea
Update declarations for all functions/methods that accept printf-style
...
stdarg formats to use __attribute__ format so the compiler can flag
incorrect uses. Fix all incorrect uses. Most of these are innocuous,
a few were resulting in crashes.
llvm-svn: 140185
2011-09-20 21:44:10 +00:00
Bruno Cardoso Lopes
33e91a6cf7
The wrong relocation was being emitted for several SSSE3 instructions.
...
This fixes PR10963. Thanks to Benjamin for finding the wrong tablegen
declaration.
llvm-svn: 140184
2011-09-20 21:39:21 +00:00
Bruno Cardoso Lopes
05f3f4939a
Tidy up code!
...
llvm-svn: 140183
2011-09-20 21:39:06 +00:00
Anna Zaks
c29bed3989
[analyzer] Refactor PathDiagnosticLocation: Make PathDiagnosticLocation(SourceLocation...) private. Most of the effort here goes to making BugReport refer to a PathDiagnosticLocation instead of FullSourceLocation.
...
(Another step closer to the goal of having Diagnostics which can recover from invalid SourceLocations.)
llvm-svn: 140182
2011-09-20 21:38:35 +00:00
Evan Cheng
61a003315e
Fix a bug introduced during refactoring a couple of months ago. Cortex-M3 does not support Thumb2 dsp instructions. rdar://10152911.
...
llvm-svn: 140181
2011-09-20 21:38:18 +00:00
Anna Zaks
b2dfc2b7be
[analyzer] Refactor PathDiagnosticLocation: Use the pre-computed Range and Location for profile.
...
llvm-svn: 140180
2011-09-20 21:25:00 +00:00
Chad Rosier
d3a0f954a3
[driver] Default to arm mode when using the integrated assembler.
...
rdar://10125227
llvm-svn: 140179
2011-09-20 20:44:06 +00:00
Akira Hatanaka
2b37261fd6
Initial Mips64 support. Patch by Liu with some modifications.
...
llvm-svn: 140178
2011-09-20 20:28:08 +00:00
Bill Wendling
626a6f4160
Update to new EH model.
...
llvm-svn: 140177
2011-09-20 20:21:16 +00:00
Bill Wendling
3d48f59231
Check the terminator, not the basic block.
...
llvm-svn: 140176
2011-09-20 20:20:50 +00:00
Richard Trieu
02e25db543
Fix a problem in digraph handling where "[:" might be treated as "<::" and
...
erronously trigger the digraph correction fix-it. Include a new test to catch
this in the future.
llvm-svn: 140175
2011-09-20 20:03:50 +00:00
Akira Hatanaka
bef1745c9c
Define Mips64 TargetInfo classes.
...
llvm-svn: 140174
2011-09-20 19:21:49 +00:00
Bill Wendling
c1da6ea344
When extracting a basic block that ends in an 'invoke' instruction, we need to
...
extract its associated landing pad block as well. However, that landing pad
block may have more than one predecessor. So split the landing pad block so that
individual landing pads have only one predecessor.
This type of transformation may produce a false positive with bugpoint.
llvm-svn: 140173
2011-09-20 19:10:24 +00:00
Bill Wendling
fc1176e061
Use ArrayRef instead of an explicit 'const std::vector &'.
...
llvm-svn: 140172
2011-09-20 19:05:04 +00:00
Ted Kremenek
057b986d9d
Sort exports list.
...
llvm-svn: 140171
2011-09-20 19:02:45 +00:00
Akira Hatanaka
f6da331e15
Clean up TargetInfo class hierarchy. Define a base class from which TargetInfos
...
of Mips32 big and little endian derive.
llvm-svn: 140170
2011-09-20 19:00:23 +00:00
Devang Patel
7d06f5cdd4
If simple ownership works then friendship is not required.
...
llvm-svn: 140169
2011-09-20 18:48:56 +00:00
Bill Wendling
1bfe55a378
Use ArrayRef instead of 'const std::vector' to pass around the list of basic blocks to extract.
...
llvm-svn: 140168
2011-09-20 18:42:07 +00:00