Douglas Gregor
1257f97003
Introduce a depth-first search of modules into the module manager,
...
which supports both pre-order and post-order traversal via a visitor
mechanism. Use this depth-first search with a post-order traversal to
give predictable ordering semantics when walking all of the lexical
declarations in the translation unit.
Eventually, module imports will occur in the source code rather than
at the beginning, and we'll have to revisit this walk.
llvm-svn: 138490
2011-08-24 21:27:34 +00:00
Ivan Krasin
7a09d12242
Follow up to r138470 (Add PNaCl TargetInfo). I've occasionally submitted wrong patch.
...
llvm-svn: 138489
2011-08-24 21:22:25 +00:00
Jim Grosbach
0a0b3071df
Thumb parsing and encoding support for ADD SP instructions.
...
Fix the test FIXME and add parsing support for the ADD (SP plus immediate)
and ADD (SP plus register) instruction forms.
llvm-svn: 138488
2011-08-24 21:22:15 +00:00
Eli Friedman
38cd821dc4
Fix whitespace.
...
llvm-svn: 138487
2011-08-24 21:17:30 +00:00
Eli Friedman
5aabaaa367
Basic tests for atomic load and store on x86.
...
llvm-svn: 138486
2011-08-24 21:16:59 +00:00
Bill Wendling
86c5cbe613
Skip the landingpad instruction when determining the insertion point.
...
llvm-svn: 138481
2011-08-24 21:06:46 +00:00
Anna Zaks
be460898bb
[analyzer] MacOSKeychainAPIChecker: Provide reacher diagnostic trace by pointing to the allocation site when reporting a leak.
...
llvm-svn: 138479
2011-08-24 20:52:46 +00:00
Eli Friedman
342e8df0e0
Basic x86 code generation for atomic load and store instructions.
...
llvm-svn: 138478
2011-08-24 20:50:09 +00:00
Jordy Rose
9ff0299935
[analyzer] Silence an (incorrect) uninitialized variable warning, caught by Cameron.
...
llvm-svn: 138477
2011-08-24 20:38:42 +00:00
Jordy Rose
38eea65acd
[analyzer] Copy GC mode setting from CFRefCount to RetainReleaseChecker in preparation for getting rid of CFRefCount.
...
This is a little hacky for now but will get better once we decide the best way to handle this.
llvm-svn: 138476
2011-08-24 20:33:55 +00:00
Argyrios Kyrtzidis
b87ea9871d
Silence 'may be used uninitialized' warnings.
...
llvm-svn: 138475
2011-08-24 20:33:05 +00:00
Anna Zaks
45aa208554
[analyzer] Allow checker writes to specify that no region should be accosiated with the report. (Useful when we report an error on endOfPath or deadSymbols, when the range of the last expression might have nothing to do with the error.)
...
llvm-svn: 138474
2011-08-24 20:31:06 +00:00
Bill Wendling
0902a68f69
Use getFirstInsertionPt instead of getFirstNonPHI so that it skips to the proper
...
insertion place.
llvm-svn: 138473
2011-08-24 20:28:43 +00:00
Eli Friedman
0cb3b56de5
Some minor updates to atomic acquire/release docs in LangRef.
...
llvm-svn: 138472
2011-08-24 20:28:39 +00:00
Ivan Krasin
dd7403e612
Add PNaCl TargetInfo.
...
llvm-svn: 138470
2011-08-24 20:22:22 +00:00
Nadav Rotem
365af6f17b
Implement Constant::isAllOnesValue(). Fix ConstantFolding to use the new api.
...
llvm-svn: 138469
2011-08-24 20:18:38 +00:00
Jim Grosbach
af2f827a2c
When printing Thumb1 NOP ('mov r8, r8'), make sure to print the predicate.
...
rdar://10015134
llvm-svn: 138467
2011-08-24 20:06:14 +00:00
Johnny Chen
b7bdd1001e
Pretty print the run options for dumpSessionInfo(self) client.
...
llvm-svn: 138466
2011-08-24 19:48:51 +00:00
Johnny Chen
ba3b99ef1c
Fix compile warning.
...
llvm-svn: 138465
2011-08-24 19:35:24 +00:00
Jordy Rose
e8743a7499
[analyzer] Remove unused DoNothingByRef and the special case for CFDictionaryCreate.
...
This is a very small regression (actually introduced in r138309) because it won't catch leaks of objects passed by reference to CFDictionaryCreate (they're considered to have escaped and are ignored). If this is important we can put in a specific eval::Call to restore the functionality.
llvm-svn: 138464
2011-08-24 19:10:50 +00:00
Douglas Gregor
94619c81fc
In the AST reader, switch name lookup within a DeclContect over to the
...
module DAG-based lookup scheme. This required some reshuffling, so
that each module stores its own mapping from DeclContexts to their
lexical and visible sets for those DeclContexts (rather than one big
"chain").
Overall, this allows simple qualified name lookup into the translation
unit to gather results from multiple modules, with the lookup results
in module B shadowing the lookup results in module A when B imports A.
Walking all of the lexical declarations in a module DAG is still a
mess; we'll end up walking the loaded module list backwards, which
works fine for chained PCH but doesn't make sense in a DAG. I'll
tackle this issue as a separate commit.
llvm-svn: 138463
2011-08-24 19:03:07 +00:00
Jordy Rose
5df640dc33
[analyzer] Slightly clean up the fix in 138432, so that it doesn't depend on the relative ordering of path-sensitive and path-insensitive checks. Still not ideal, but I think a real fix would require infrastructure that doesn't exist yet.
...
llvm-svn: 138462
2011-08-24 18:56:32 +00:00
Bruno Cardoso Lopes
ce02840633
Mark VZEROALL as clobbering all YMM registers
...
llvm-svn: 138461
2011-08-24 18:48:33 +00:00
Caitlin Sadowski
726003e79d
Thread safety: Fix a few typos in last commit -- use LockID instead of Lock in comments and start a couple methods with a lowercase letter
...
llvm-svn: 138460
2011-08-24 18:46:20 +00:00
Johnny Chen
3e15c4d50b
Don't display the stdout if not in TraceOn(), i.e, '-t option, mode.
...
llvm-svn: 138458
2011-08-24 18:19:50 +00:00
Jim Grosbach
6ccd79f4d5
Add missing explicit writeback operand to tSTMIA_UPD.
...
rdar://10014745
llvm-svn: 138457
2011-08-24 18:19:42 +00:00
Johnny Chen
4ab4a9b897
The plugin impl of getCompiler() should be in unison with the Makefile.rules change.
...
llvm-svn: 138454
2011-08-24 18:12:53 +00:00
Johnny Chen
a68135aed0
Remove the expectedFailure decorator. The test has been passing for some time now.
...
llvm-svn: 138452
2011-08-24 18:10:09 +00:00
Evan Cheng
494eb062b5
Match LLVM change: TargetRegistry and TargetSelect have been moved to Support.
...
llvm-svn: 138451
2011-08-24 18:09:14 +00:00
Evan Cheng
2bb4035707
Move TargetRegistry and TargetSelect from Target to Support where they belong.
...
These are strictly utilities for registering targets and components.
llvm-svn: 138450
2011-08-24 18:08:43 +00:00
Rafael Espindola
d3e65e702f
Fix a crashing bug in SplitBlock when it is called on a block with no
...
dominator information even though dominators were previously computed.
Patch by Nick Sumner.
llvm-svn: 138449
2011-08-24 18:07:01 +00:00
Jim Grosbach
a281f2d07d
Thumb add SP assembly syntax fix.
...
llvm-svn: 138448
2011-08-24 18:04:27 +00:00
Enrico Granata
65a6a6bea4
Moved the test code for Python commands out of the test case for aliases, into its own dedicated test case (one fill was still lurking in the old folder)
...
llvm-svn: 138446
2011-08-24 17:46:38 +00:00
Jim Grosbach
1b8457a84c
Thumb1 ADD/SUB SP instructions are predicable in Thumb2 mode.
...
Add the predicate operand to the instructions. Update the back end
accordingly where the instructions are used. Restrict the SP operands
to actually only be SP, as otherwise these break assembly parsing for the
normal instruction variants.
llvm-svn: 138445
2011-08-24 17:46:13 +00:00
Enrico Granata
cb2921dbd3
Moved the test code for Python commands out of the test case for aliases, into its own dedicated test case
...
llvm-svn: 138444
2011-08-24 17:45:40 +00:00
Owen Anderson
523004145e
Be stricter in enforcing IT instruction predicate values, so that we don't end up trying to print out an illegal predicate.
...
llvm-svn: 138443
2011-08-24 17:21:43 +00:00
Enrico Granata
45403f31f1
Documentation edits: correcting typos, adding information and general tweaks for readability
...
llvm-svn: 138442
2011-08-24 17:12:47 +00:00
Owen Anderson
16fd0d96f2
Port over more encoding tests to decoding tests.
...
llvm-svn: 138441
2011-08-24 17:08:34 +00:00
Jim Grosbach
dee9e8a37c
Tidy up. Trailing whitespace.
...
llvm-svn: 138437
2011-08-24 16:44:17 +00:00
Axel Naumann
744f121e5b
Reset FirstID (first diagnostic's file ID) to allow for invocations of the VerifyDiagnosticsClient on several input files.
...
llvm-svn: 138434
2011-08-24 13:36:19 +00:00
Richard Osborne
6e3c83eb1c
Add Uses=[SP] to call instructions. This fixes a miscompilation with a
...
variable sized alloca.
llvm-svn: 138433
2011-08-24 13:32:43 +00:00
Jordy Rose
95589f13ff
[analyzer] Fix a Heisenbug concerning object lifetimes with a hack. Hopefully a better fix coming soon. See comment for more details.
...
llvm-svn: 138432
2011-08-24 09:27:24 +00:00
Jordy Rose
58428b914d
[analyzer] Reapply 138390 "Clean up unused bits of CFRefCount", reverted in 138405. Ended up unrelated to any problems.
...
llvm-svn: 138431
2011-08-24 09:22:31 +00:00
Jordy Rose
14de7c5a88
[analyzer] Fix potential crasher with RAII. No functionality change. (No test because this particular circumstance requires an impossible series of events, but this is future-proofing.)
...
llvm-svn: 138430
2011-08-24 09:02:37 +00:00
Tobias Grosser
3df9c76d5c
RegisterPasses: Rework comments slightly
...
llvm-svn: 138428
2011-08-24 07:33:05 +00:00
Craig Topper
de92622aa5
Break 256-bit vector int add/sub/mul into two 128-bit operations to avoid costly scalarization. Fixes PR10711.
...
llvm-svn: 138427
2011-08-24 06:14:18 +00:00
Jordy Rose
7a53498f20
[analyzer] Reapply 138382 and 138388 (reverted in 138419 and 138420). The issue seems to have been with the uninitialized variable fixed in 138424; a fix for another Heisencrasher coming soon.
...
llvm-svn: 138426
2011-08-24 05:47:39 +00:00
Enrico Granata
c5df00f0b9
Documentation on dynamic types (WIP)
...
llvm-svn: 138425
2011-08-24 04:53:31 +00:00
Jordy Rose
03a8f9e578
[analyzer] Correctly initialize a variable and hopefully fix crashes.
...
llvm-svn: 138424
2011-08-24 04:48:19 +00:00
Enrico Granata
83cfc9abf8
Minor documentation changes (WIP)
...
llvm-svn: 138423
2011-08-24 01:49:09 +00:00