Rafael Espindola [Tue, 16 Apr 2013 02:29:15 +0000 (02:29 +0000)]
Correctly propagate the storage class to function template instantiations.
This fixes pr15753. This is another case of the fuzzy definition of the
"as written" storage class of an instantiation.
llvm-svn: 179581
Anna Zaks [Tue, 16 Apr 2013 00:22:55 +0000 (00:22 +0000)]
[analyzer] Improve the malloc checker stack hint message
llvm-svn: 179580
Jason Molenda [Tue, 16 Apr 2013 00:18:44 +0000 (00:18 +0000)]
Fix some minor code indentation mistakes in ObjectFileMachO.
No code changes in this checkin, only whitespace.
llvm-svn: 179579
Enrico Granata [Mon, 15 Apr 2013 23:52:53 +0000 (23:52 +0000)]
New CallNext action for the test case that causes the next action in the sequence to be called right away
llvm-svn: 179578
Andrew Kaylor [Mon, 15 Apr 2013 23:33:53 +0000 (23:33 +0000)]
Adding new Python API function to check for stopped threads.
llvm-svn: 179577
Sean Callanan [Mon, 15 Apr 2013 22:48:23 +0000 (22:48 +0000)]
Added logging to each entity in the Materializer
to make debugging easier when things go wrong.
llvm-svn: 179576
Jim Grosbach [Mon, 15 Apr 2013 22:42:50 +0000 (22:42 +0000)]
ARM: Add VACLT and VACLE assembly aliases.
These are aliases for VACGT and VACGE, respectively, with the source
operands reversed.
rdar://
13638090
llvm-svn: 179575
Anna Zaks [Mon, 15 Apr 2013 22:38:07 +0000 (22:38 +0000)]
[analyzer] Do not crash when processing binary "?:" in C++
When computing the value of ?: expression, we rely on the last expression in
the previous basic block to be the resulting value of the expression. This is
not the case for binary "?:" operator (GNU extension) in C++. As the last
basic block has the expression for the condition subexpression, which is an
R-value, whereas the true subexpression is the L-value.
Note the operator evaluation just happens to work in C since the true
subexpression is an R-value (like the condition subexpression). CFG is the
same in C and C++ case, but the AST nodes are different, which the LValue to
Rvalue conversion happening after the BinaryConditionalOperator evaluation.
Changed the logic to only use the last expression from the predecessor only
if it matches either true or false subexpression. Note, the logic needed
fortification anyway: L and R were passed but not even used by the function.
Also, change the conjureSymbolVal to correctly compute the type, when the
expression is an LG-value.
llvm-svn: 179574
Anna Zaks [Mon, 15 Apr 2013 22:38:04 +0000 (22:38 +0000)]
[analyzer] Add pretty printing to CXXBaseObjectRegion.
llvm-svn: 179573
Anna Zaks [Mon, 15 Apr 2013 22:37:59 +0000 (22:37 +0000)]
[analyzer] Address code review for r179395
Mostly refactoring + handle the nested fields by printing the innermost field only.
llvm-svn: 179572
Anna Zaks [Mon, 15 Apr 2013 22:37:53 +0000 (22:37 +0000)]
[analyzer] Add more specialized error messages for corner cases as per Jordan's code review for r179396
llvm-svn: 179571
Daniel Jasper [Mon, 15 Apr 2013 22:36:37 +0000 (22:36 +0000)]
Break after multiline parameters.
We do this in general, but missed a few cases.
Before:
void
aaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, bbbb bbbb);
After:
void
aaaaaaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
bbbb bbbb);
llvm-svn: 179570
Bill Wendling [Mon, 15 Apr 2013 22:33:50 +0000 (22:33 +0000)]
We are not able to bitcast a pointer to an integral value.
Two return types are not equivalent if one is a pointer and the other is an
integral. This is because we cannot bitcast a pointer to an integral value.
PR15185
llvm-svn: 179569
John Thompson [Mon, 15 Apr 2013 22:32:28 +0000 (22:32 +0000)]
Fixed outdate comment, and comment typo.
llvm-svn: 179568
Jack Carter [Mon, 15 Apr 2013 22:21:55 +0000 (22:21 +0000)]
Mips assembler: Explicit floating point condition register recognition.
This patch allows the assembler to recognize $fcc0
as a valid register for conditional move instructions.
Corresponding test cases have been added.
Contributer: Vladimir Medic
llvm-svn: 179567
Nadav Rotem [Mon, 15 Apr 2013 22:21:25 +0000 (22:21 +0000)]
Fix a grammar mistake, and add a line about the two phases that the BB/SLP vectorizers have (top-down and bottom-up).
llvm-svn: 179566
Nadav Rotem [Mon, 15 Apr 2013 22:11:07 +0000 (22:11 +0000)]
Fix the internal link.
llvm-svn: 179565
Nadav Rotem [Mon, 15 Apr 2013 22:10:39 +0000 (22:10 +0000)]
Update the release notes about the vectorizers.
llvm-svn: 179564
Jordan Rose [Mon, 15 Apr 2013 22:03:38 +0000 (22:03 +0000)]
[analyzer] Don't assert on a temporary of pointer-to-member type.
While we don't do anything intelligent with pointers-to-members today,
it's perfectly legal to need a temporary of pointer-to-member type to, say,
pass by const reference. Tweak an assertion to allow this.
PR15742 and PR15747
llvm-svn: 179563
Nadav Rotem [Mon, 15 Apr 2013 22:00:26 +0000 (22:00 +0000)]
SLPVectorizer: Make it a function pass and add code for hoisting the vector-gather sequence out of loops.
llvm-svn: 179562
Sean Callanan [Mon, 15 Apr 2013 21:35:52 +0000 (21:35 +0000)]
Fixed a few bugs in IRMemoryMap:
- If an allocation is mirrored between the host
and the process, update the host's version
before returning a DataExtractor pointing to
it.
- If anyone attempts to access memory in a
process/target that does not have a corresponding
allocation, try accessing the memory directly
before erroring out.
llvm-svn: 179561
Enrico Granata [Mon, 15 Apr 2013 21:26:06 +0000 (21:26 +0000)]
More updates to test cases
llvm-svn: 179560
Enrico Granata [Mon, 15 Apr 2013 21:24:00 +0000 (21:24 +0000)]
Sketch test now runs 10 times
Data formatters test outputs stddev
llvm-svn: 179559
Joey Gouly [Mon, 15 Apr 2013 21:13:33 +0000 (21:13 +0000)]
Remove some dead code that has not been used since 2010.
llvm-svn: 179558
Sean Callanan [Mon, 15 Apr 2013 20:51:24 +0000 (20:51 +0000)]
Added support for registers to the Materializer.
Also improved logging and error handling in a few
spots in the Materializer.
llvm-svn: 179557
Howard Hinnant [Mon, 15 Apr 2013 20:40:06 +0000 (20:40 +0000)]
Numeric parsing was getting the wrong answer when faced with very long inputs. This fixes both llvm.org/bugs/show_bug.cgi?id=15751 and http://llvm.org/bugs/show_bug.cgi?id=15740
llvm-svn: 179556
Jordan Rose [Mon, 15 Apr 2013 20:39:48 +0000 (20:39 +0000)]
[analyzer] Be lazy about struct/array global invalidation too.
Structs and arrays can take advantage of the single top-level global
symbol optimization (described in the previous commit) just as well
as scalars.
No intended behavioral change.
llvm-svn: 179555
Jordan Rose [Mon, 15 Apr 2013 20:39:45 +0000 (20:39 +0000)]
[analyzer] Re-enable using global regions as a symbolic base.
Now that we're invalidating global regions properly, we want to continue
taking advantage of a particular optimization: if all global regions are
invalidated together, we can represent the bindings of each region with
a "derived region value" symbol. Essentially, this lazily links each
global region with a single symbol created at invalidation time, rather
than binding each region with a new symbolic value.
We used to do this, but haven't been for a while; the previous commit
re-enabled this code path, and this handles the fallout.
<rdar://problem/
13464044>
llvm-svn: 179554
Jordan Rose [Mon, 15 Apr 2013 20:39:41 +0000 (20:39 +0000)]
[analyzer] Properly invalidate global regions on opaque function calls.
This fixes a regression where a call to a function we can't reason about
would not actually invalidate global regions that had explicit bindings.
void test_that_now_works() {
globalInt = 42;
clang_analyzer_eval(globalInt == 42); // expected-warning{{TRUE}}
invalidateGlobals();
clang_analyzer_eval(globalInt == 42); // expected-warning{{UNKNOWN}}
}
This has probably been around since the initial "cluster" refactoring of
RegionStore, if not longer.
<rdar://problem/
13464044>
llvm-svn: 179553
Jordan Rose [Mon, 15 Apr 2013 20:39:37 +0000 (20:39 +0000)]
[analyzer] Tests: move system functions into system header simulator files.
Some checkers ascribe different behavior to functions declared in system
headers, so when working with standard library functions it's probably best
to always have them in a standard location.
Test change only (no functionality change), but necessary for the next commit.
llvm-svn: 179552
Rafael Espindola [Mon, 15 Apr 2013 20:13:59 +0000 (20:13 +0000)]
Fix silly typo that broke big endian hosts.
llvm-svn: 179551
Enrico Granata [Mon, 15 Apr 2013 19:57:32 +0000 (19:57 +0000)]
Enabling test case to write the average+stddev pair to the results
The sketch test case writes avg+stddev for all its metrics:
<key>fetch-frames</key>
<dict>
<key>description</key>
<string>time to dump backtrace for every frame in every thread</string>
<key>stddev</key>
<real>0.
006270938361432314</real>
<key>value</key>
<real>0.
011568079851851851</real>
</dict>
llvm-svn: 179550
Rafael Espindola [Mon, 15 Apr 2013 19:28:45 +0000 (19:28 +0000)]
Fix endianness on some MSVC versions.
Looks like it was evaluating undef == undef to true.
llvm-svn: 179549
Enrico Granata [Mon, 15 Apr 2013 19:07:38 +0000 (19:07 +0000)]
- Adding a relaunch feature to the performance tester: you can use the relaunch if you want to measure multiple runs of your app keeping the same metrics alive. New arguments must be supplied - and the step counter will not be reset (this makes it easy to avoid endless loops)
- Having the Sketch test case relaunch itself
llvm-svn: 179548
Argyrios Kyrtzidis [Mon, 15 Apr 2013 18:47:22 +0000 (18:47 +0000)]
Revert "Speed-up ObjCMethodDecl::getOverriddenMethods()."
This reverts commit r179436.
Due to caching, it was possible that we could miss overridden methods that
were introduced by categories later on.
Along with reverting the commit I also included a test case that would have caught this.
llvm-svn: 179547
Tom Stellard [Mon, 15 Apr 2013 17:51:35 +0000 (17:51 +0000)]
R600/SI: Emit config values in register value pairs.
Instead of emitting config values in a predefined order, the code
emitter will now emit a 32-bit register index followed by the 32-bit
config value.
llvm-svn: 179546
Tom Stellard [Mon, 15 Apr 2013 17:51:30 +0000 (17:51 +0000)]
R600/SI: Emit configuration value in the .AMDGPU.config ELF section
llvm-svn: 179545
Tom Stellard [Mon, 15 Apr 2013 17:51:21 +0000 (17:51 +0000)]
R600: Emit ELF formatted code rather than raw ISA.
llvm-svn: 179544
Sean Callanan [Mon, 15 Apr 2013 17:44:44 +0000 (17:44 +0000)]
Removed a duplicate copy of the contents of
Materializer.h that somehow crept in, maybe
during a patch operation.
llvm-svn: 179543
Jim Grosbach [Mon, 15 Apr 2013 17:40:48 +0000 (17:40 +0000)]
Fix a typo in comment.
llvm-svn: 179542
Jim Grosbach [Mon, 15 Apr 2013 17:40:45 +0000 (17:40 +0000)]
Simplify the MCInst operator iterator declaration.
llvm-svn: 179541
John Criswell [Mon, 15 Apr 2013 17:38:06 +0000 (17:38 +0000)]
Grammar and punctuation fixes.
No content changes.
llvm-svn: 179540
Sean Callanan [Mon, 15 Apr 2013 17:12:47 +0000 (17:12 +0000)]
Audited the existing Materializer code to ensure
that it works in the absence of a process. Codepaths
in the Materializer now use the best execution context
scope available to them.
llvm-svn: 179539
Rafael Espindola [Mon, 15 Apr 2013 17:06:15 +0000 (17:06 +0000)]
Remove XFAIL now that the test is standalone.
llvm-svn: 179538
Argyrios Kyrtzidis [Mon, 15 Apr 2013 16:52:57 +0000 (16:52 +0000)]
[PCH/test] Make test/PCH/cxx-typeid.cpp self-contained by including the relevant standard library declarations
instead of depending on a system header inclusion.
llvm-svn: 179537
Rafael Espindola [Mon, 15 Apr 2013 16:46:43 +0000 (16:46 +0000)]
Try to fix the mingw builds.
llvm-svn: 179536
Arnold Schwaighofer [Mon, 15 Apr 2013 16:11:25 +0000 (16:11 +0000)]
Fix bit size of v64i8 and v32i16 vector types.
Patch by Cameron McInally <cameron.mcinally@nyu.edu>.
llvm-svn: 179535
Rafael Espindola [Mon, 15 Apr 2013 16:08:02 +0000 (16:08 +0000)]
Remove getters now that we can specialize structs on the host endianness.
llvm-svn: 179534
Tim Northover [Mon, 15 Apr 2013 15:49:13 +0000 (15:49 +0000)]
Avoid outputting temporary test file into source tree.
llvm-svn: 179532
Alexander Kornienko [Mon, 15 Apr 2013 15:47:34 +0000 (15:47 +0000)]
Fix unused variable warning with assertions disabled.
llvm-svn: 179531
Rafael Espindola [Mon, 15 Apr 2013 15:13:10 +0000 (15:13 +0000)]
Remove unused function.
llvm-svn: 179530
Rafael Espindola [Mon, 15 Apr 2013 15:10:35 +0000 (15:10 +0000)]
Use llvm::sys::IsBigEndianHost.
llvm-svn: 179529
Edwin Vane [Mon, 15 Apr 2013 14:50:35 +0000 (14:50 +0000)]
Adding support for -include/-exclude to cpp11-migrate
This commit adds initial support for the -include/-exclude options which are
both currently marked as hidden. This support is the first step toward
supporting transformations in headers included from source files.
Added unittests to test include/exclude support.
Author: Jack Yang <jack.yang@intel.com>
llvm-svn: 179528
Rafael Espindola [Mon, 15 Apr 2013 14:44:24 +0000 (14:44 +0000)]
Make the host endianness check an integer constant expression.
I will remove the isBigEndianHost function once I update clang.
The ifdef logic is designed to
* not use configure/cmake to avoid breaking -arch i686 -arch ppc.
* default to little endian
* be as small as possible
It looks like sys/endian.h is the preferred header on most modern BSD systems,
but it is better to change this in a followup patch as machine/endian.h is
available on FreeBSD, OpenBSD, NetBSD and OS X.
llvm-svn: 179527
Alexander Kornienko [Mon, 15 Apr 2013 14:28:00 +0000 (14:28 +0000)]
Unified token breaking logic for strings and block comments.
Summary:
Both strings and block comments are broken into lines in
breakProtrudingToken. Logic specific for strings or block comments is abstracted
in implementations of the BreakToken interface. Among other goodness, this
change fixes placement of backslashes after a block comment inside a
preprocessor directive (see removed FIXMEs in unit tests).
The code is far from being polished, and some parts of it will be changed for
line comments support.
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D665
llvm-svn: 179526
Timur Iskhodzhanov [Mon, 15 Apr 2013 14:16:31 +0000 (14:16 +0000)]
Add a missing space
llvm-svn: 179525
Evgeniy Stepanov [Mon, 15 Apr 2013 13:35:05 +0000 (13:35 +0000)]
[msan] Fix sigaction test.
Restore SIGPROF handler to the original state after the test.
llvm-svn: 179524
Rafael Espindola [Mon, 15 Apr 2013 12:49:13 +0000 (12:49 +0000)]
Remove hasExternalLinkageUncached.
It was being used correctly, but it is a very dangerous API to have around.
Instead, move the logic from the filtering to when we are deciding if we should
link two decls.
llvm-svn: 179523
Evgeniy Stepanov [Mon, 15 Apr 2013 12:41:52 +0000 (12:41 +0000)]
[msan] Really disable replacement new and delete.
llvm-svn: 179522
Rafael Espindola [Mon, 15 Apr 2013 12:38:20 +0000 (12:38 +0000)]
Fix the storage class of method instantiations.
We keep the "as written" storage class, but that is a fuzzy concept for
instantiations. With this patch instantiations of methods of class templates
now get a storage class that is based on the semantics of isStatic(). With this
can simplify isStatic() itself.
llvm-svn: 179521
Andy Gibbs [Mon, 15 Apr 2013 12:06:32 +0000 (12:06 +0000)]
Replace uses of the deprecated std::auto_ptr with OwningPtr.
This is a rework of the broken parts in r179373 which were subsequently reverted in r179374 due to incompatibility with C++98 compilers. This version should be ok under C++98.
llvm-svn: 179520
Tim Northover [Mon, 15 Apr 2013 11:55:27 +0000 (11:55 +0000)]
Remove reference to MSVC only building X86 backend.
This is no longer true.
llvm-svn: 179519
Tim Northover [Mon, 15 Apr 2013 11:53:05 +0000 (11:53 +0000)]
Enable all targets by default on Visual Studio.
llvm-svn: 179518
Richard Smith [Mon, 15 Apr 2013 08:33:22 +0000 (08:33 +0000)]
Local thread_local variables are implicitly 'static'. (This doesn't apply to _Thread_local nor __thread.)
llvm-svn: 179517
Richard Smith [Mon, 15 Apr 2013 08:07:34 +0000 (08:07 +0000)]
Properly check for a constant initializer for a thread-local variable.
llvm-svn: 179516
Richard Smith [Mon, 15 Apr 2013 08:02:05 +0000 (08:02 +0000)]
Add triple to another test.
llvm-svn: 179515
Richard Smith [Mon, 15 Apr 2013 08:00:15 +0000 (08:00 +0000)]
Add triples to these tests since they're now using TLS, which isn't available on all targets.
llvm-svn: 179514
Eric Christopher [Mon, 15 Apr 2013 07:31:37 +0000 (07:31 +0000)]
Revert "Recommit r179497 after fixing uninitialized variable." until
I can fix the testcases here:
http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9/builds/6952
This reverts commit r179512 due to testcases specifying triples
that they didn't actually mean and causing failures on other platforms.
llvm-svn: 179513
Eric Christopher [Mon, 15 Apr 2013 07:07:21 +0000 (07:07 +0000)]
Recommit r179497 after fixing uninitialized variable.
llvm-svn: 179512
Nadav Rotem [Mon, 15 Apr 2013 05:56:55 +0000 (05:56 +0000)]
Document our desire to enable the loop vectorizer on -Os in future releases.
llvm-svn: 179511
Nadav Rotem [Mon, 15 Apr 2013 05:53:23 +0000 (05:53 +0000)]
Docs: merge the description of the BB and SLP vectorizers and document the -fslp-vectorize-aggressive flag.
llvm-svn: 179510
Nadav Rotem [Mon, 15 Apr 2013 05:39:58 +0000 (05:39 +0000)]
Add an option -vectorize-slp-aggressive for running the BB vectorizer. Make -fslp-vectorize run the slp-vectorizer.
llvm-svn: 179508
Nadav Rotem [Mon, 15 Apr 2013 05:38:41 +0000 (05:38 +0000)]
Add a new flag -vectorize-slp-aggressive to enable Hals BB vectorizer.
llvm-svn: 179507
Nadav Rotem [Mon, 15 Apr 2013 04:57:18 +0000 (04:57 +0000)]
Rename the slp-vectorizer clang/llvm flags. No functionality change.
llvm-svn: 179506
Nadav Rotem [Mon, 15 Apr 2013 04:54:42 +0000 (04:54 +0000)]
Rename the slp-vectorizer clang/llvm flags. No functionality change.
llvm-svn: 179505
Nadav Rotem [Mon, 15 Apr 2013 04:25:27 +0000 (04:25 +0000)]
SLPVectorizer: Add support for vectorizing trees that start at compare instructions.
llvm-svn: 179504
Jia Liu [Mon, 15 Apr 2013 03:26:13 +0000 (03:26 +0000)]
fix include path in doc Extending LLVM
llvm-svn: 179503
Hal Finkel [Mon, 15 Apr 2013 02:37:46 +0000 (02:37 +0000)]
Mark all PPC comparison instructions as not having side effects
Now that the CR spilling issues have been resolved, we can remove the
unmodeled-side-effect attributes from the comparison instructions (and also
mark them as isCompare). By allowing these, by default, to have unmodeled side
effects, we were hiding problems with CR spilling; but everything seems much
happier now.
llvm-svn: 179502
Dmitri Gribenko [Mon, 15 Apr 2013 02:31:50 +0000 (02:31 +0000)]
Comment command table: use inheritance instead of duplicating code
llvm-svn: 179501
Hal Finkel [Mon, 15 Apr 2013 02:07:05 +0000 (02:07 +0000)]
Fix PPC64 CR spill location for callee-saved registers
This fixes an ABI bug for non-Darwin PPC64. For the callee-saved condition
registers, the spill location is specified relative to the stack pointer (SP +
8). However, this is not relative to the SP after the new stack frame is
established, but instead relative to the caller's stack pointer (it is stored
into the linkage area of the parent's stack frame).
So, like with the link register, we don't directly spill the CRs with other
callee-saved registers, but just mark them to be spilled during prologue
generation.
In practice, this reverts r179457 for PPC64 (but leaves it in place for PPC32).
llvm-svn: 179500
Eric Christopher [Sun, 14 Apr 2013 23:35:36 +0000 (23:35 +0000)]
Revert "Remove some unused triple and data layout."
This reverts commit r179497 and the accompanying commit as it broke random platforms that aren't osx.
llvm-svn: 179499
Eric Christopher [Sun, 14 Apr 2013 23:32:44 +0000 (23:32 +0000)]
Remove some unused triple and data layout.
llvm-svn: 179498
Eric Christopher [Sun, 14 Apr 2013 23:32:40 +0000 (23:32 +0000)]
If we've specified a triple on the command line then go ahead
and use that as the default triple for the module and target
data layout.
llvm-svn: 179497
Richard Smith [Sun, 14 Apr 2013 23:01:42 +0000 (23:01 +0000)]
CodeGen support for function-local static thread_local variables with
non-constant constructors or non-trivial destructors. Plus bugfixes for
thread_local references bound to temporaries (the temporaries themselves are
lifetime-extended to become thread_local), and the corresponding case for
std::initializer_list.
llvm-svn: 179496
Rafael Espindola [Sun, 14 Apr 2013 22:08:07 +0000 (22:08 +0000)]
Removed #if 0 code that doesn't compiled if uncommented.
llvm-svn: 179495
Nico Rieck [Sun, 14 Apr 2013 21:18:36 +0000 (21:18 +0000)]
Use object file specific section type for initial text section
llvm-svn: 179494
David Majnemer [Sun, 14 Apr 2013 21:15:43 +0000 (21:15 +0000)]
Reorders two transforms that collide with each other
One performs: (X == 13 | X == 14) -> X-13 <u 2
The other: (A == C1 || A == C2) -> (A & ~(C1 ^ C2)) == C1
The problem is that there are certain values of C1 and C2 that
trigger both transforms but the first one blocks out the second,
this generates suboptimal code.
Reordering the transforms should be better in every case and
allows us to do interesting stuff like turn:
%shr = lshr i32 %X, 4
%and = and i32 %shr, 15
%add = add i32 %and, -14
%tobool = icmp ne i32 %add, 0
into:
%and = and i32 %X, 240
%tobool = icmp ne i32 %and, 224
llvm-svn: 179493
Nadav Rotem [Sun, 14 Apr 2013 20:13:05 +0000 (20:13 +0000)]
Make the command line triple match the module triple.
llvm-svn: 179492
Richard Smith [Sun, 14 Apr 2013 20:11:31 +0000 (20:11 +0000)]
Diagnose if a __thread or _Thread_local variable has a non-constant initializer
or non-trivial destructor.
llvm-svn: 179491
Anna Zaks [Sun, 14 Apr 2013 18:36:51 +0000 (18:36 +0000)]
[analyzer] Add a link to the Building a Checker in 24 Hours talk to the developer manual
llvm-svn: 179490
Simon Atanasyan [Sun, 14 Apr 2013 14:07:51 +0000 (14:07 +0000)]
[Mips] Support -mmicromips / -mno-micromips command line options.
llvm-svn: 179489
Simon Atanasyan [Sun, 14 Apr 2013 14:07:41 +0000 (14:07 +0000)]
[Mips] Fix indentation.
llvm-svn: 179488
Simon Atanasyan [Sun, 14 Apr 2013 14:07:36 +0000 (14:07 +0000)]
[Mips] Follow-up to r179481. Reduce code duplication. Use
AddTargetFeature() routine to handle -msingle-float / -mdouble-float
options.
llvm-svn: 179487
Simon Atanasyan [Sun, 14 Apr 2013 14:07:30 +0000 (14:07 +0000)]
[Mips] Follow-up to r179481. Consider "single-float" as a separate
independent of float ABI feature in the MipsTargetInfoBase class.
llvm-svn: 179486
Tobias Grosser [Sun, 14 Apr 2013 13:15:59 +0000 (13:15 +0000)]
SCEVValidator: Correctly store 'k * p' as a parameter
We do not only need to understand that 'k * p' is a parameter expression, but
also need to store this expression in the set of parameters. Before this patch
we wrongly stored the two individual parameters %k and %p.
Reported by: Sebastian Pop <spop@codeaurora.org>
llvm-svn: 179485
Rafael Espindola [Sun, 14 Apr 2013 10:14:21 +0000 (10:14 +0000)]
Add driver support for fedora 18 on ARM.
llvm-svn: 179484
Benjamin Kramer [Sun, 14 Apr 2013 09:33:08 +0000 (09:33 +0000)]
Miscellaneous cleanups for VecUtils.h
llvm-svn: 179483
John McCall [Sun, 14 Apr 2013 08:50:55 +0000 (08:50 +0000)]
Handle incompatible redeclarations of library builtins better.
Invalid redeclarations of valid explicit declarations shouldn't
take the same path as redeclarations of implicit declarations,
and invalid local extern declarations shouldn't foul things up
for everybody else.
llvm-svn: 179482
Simon Atanasyan [Sun, 14 Apr 2013 08:37:15 +0000 (08:37 +0000)]
[Mips] Remove "single" from the list of valid MIPS float ABI names. Add
two new options –msingle-float and –mdouble-float. These options can be
used simultaneously with float ABI selection options (-mfloat-abi,
-mhard-float, -msoft-float). They mark whether a floating-point
coprocessor supports double-precision operations.
llvm-svn: 179481
Nadav Rotem [Sun, 14 Apr 2013 07:42:25 +0000 (07:42 +0000)]
Document the SLP infrastructure.
llvm-svn: 179480