- Aug 19, 2013
-
-
Akira Hatanaka authored
llvm-svn: 188690
-
Jakub Staszak authored
futher commits. llvm-svn: 188689
-
Peter Collingbourne authored
Differential Revision: http://llvm-reviews.chandlerc.com/D1437 llvm-svn: 188688
-
Michael Gottesman authored
Revert "Revert "Revert "DebugInfo: Omit debug info for dynamic classes in TUs that do not have the vtable for that class""" This reverts commit r188642. This change is causing LTO builds to cause our 16 GB machines to swap and OOM all weekend. I am going to work with Dave Blaikie to resolve the issue. Sorry Dave =(. llvm-svn: 188687
-
David Blaikie authored
Originally committed in r188651, improved/fixed to be assert-neutral by Takumi in r188661. llvm-svn: 188686
-
Hans Wennborg authored
llvm-svn: 188685
-
Aaron Watry authored
Everything except long/ulong is handled by just casting to the next larger type, doing the math and then shifting/casting the result. For 64-bit types, we break the high/low parts of each operand apart, and do a FOIL-based multiplication. v2: Discard the stack-overflow implementation due to copyright concerns. - The implementation is still FOIL-based, but discards the previous code. Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> llvm-svn: 188684
-
Jordan Rose authored
llvm-svn: 188683
-
Jordan Rose authored
This is still an alpha checker, but we use it in certain tests to make sure something is not being executed. This should fix the buildbots. llvm-svn: 188682
-
Jordan Rose authored
This is PR16890. llvm-svn: 188681
-
Jordan Rose authored
This keeps the analyzer from making silly assumptions, like thinking strlen(foo)+1 could wrap around to 0. This fixes PR16558. Patch by Karthik Bhat! llvm-svn: 188680
-
Jordan Rose authored
This builtin does not actually evaluate its arguments for side effects, so we shouldn't include them in the CFG. In the analyzer, rely on the constant expression evaluator to get the proper semantics, at least for now. (In the future, we could get ambitious and try to provide path- sensitive size values.) In theory, this does pose a problem for liveness analysis: a variable can be used within the __builtin_object_size argument expression but not show up as live. However, it is very unlikely that such a value would be used to compute the object size and not used to access the object in some way. <rdar://problem/14760817> llvm-svn: 188679
-
Dmitri Gribenko authored
llvm-svn: 188678
-
Pavel Labath authored
Summary: ScanReachableSymbols uses a "visited" set to avoid scanning the same object twice. However, it did not use the optimization for LazyCompoundVal objects, which resulted in exponential complexity for long chains of temporary objects. Adding this resulted in a decrease of analysis time from >3h to 3 seconds for some files. Reviewers: jordan_rose CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1398 llvm-svn: 188677
-
Mihai Popa authored
The Thumb2 add immediate is in fact defined for SP. The manual is misleading as it points to a different section for add immediate with SP, however the encoding is the same as for add immediate with register only with the SP operand hard coded. As such add immediate with SP and add immediate with register can safely be treated as the same instruction. All the patch does is adjust a register constraint on an instruction alias. llvm-svn: 188676
-
Alexey Samsonov authored
llvm-svn: 188675
-
Alexey Samsonov authored
llvm-svn: 188674
-
Elena Demikhovsky authored
ADD, SUB, MUL integer and FP types. OR, AND, XOR. Added embeded broadcast form for these instructions. llvm-svn: 188673
-
Alexey Samsonov authored
llvm-svn: 188672
-
Richard Sandiford authored
For now this matches the equivalent of (neg (abs ...)), which did hit a few times in projects/test-suite. We should probably also match cases where absolute-like selects are used with reversed arguments. llvm-svn: 188671
-
Richard Sandiford authored
llvm-svn: 188670
-
Richard Sandiford authored
This first cut is pretty conservative. The final argument register (R6) is call-saved, so we would need to make sure that the R6 argument to a sibling call is the same as the R6 argument to the calling function, which seems worth keeping as a separate patch. Saying that integer truncations are free means that we no longer use the extending instructions LGF and LLGF for spills in int-conv-09.ll and int-conv-10.ll. Instead we treat the registers as 64 bits wide and truncate them to 32-bits where necessary. I think it's unlikely we'd use LGF and LLGF for spills in other situations for the same reason, so I'm removing the tests rather than replacing them. The associated code is generic and applies to many more instructions than just LGF and LLGF, so there is no corresponding code removal. llvm-svn: 188669
-
NAKAMURA Takumi authored
AFAIK, there are no -W options for gcc-as and gcc-ld. It caused failure to build clang with gcc-4.7 on cygwin. FIXME: Could we recategorize Options for gcc-as and gcc-ld? llvm-svn: 188668
-
Alexey Samsonov authored
llvm-svn: 188667
-
Alexey Samsonov authored
llvm-svn: 188666
-
Daniel Jasper authored
This accidentally introduced by r186077, as function names were not correctly recognized in templated declarations. Before: template <class TemplateIt> SomeReturnType SomeFunction(TemplateIt begin, TemplateIt end, TemplateIt* stop) {} After: template <class TemplateIt> SomeReturnType SomeFunction(TemplateIt begin, TemplateIt end, TemplateIt* stop) {} llvm-svn: 188665
-
Robert Lytton authored
This is so aggregates can be passed as var args too. llvm-svn: 188664
-
Robert Lytton authored
llvm-svn: 188663
-
Alexey Samsonov authored
llvm-svn: 188662
-
NAKAMURA Takumi authored
llvm-svn: 188661
-
Alexey Samsonov authored
Summary: This change turns SanitizerArgs into high-level options stored in the Driver, which are parsed lazily. This fixes an issue of multiple copies of the same diagnostic message produced by sanitizer arguments parser. Reviewers: rsmith Reviewed By: rsmith CC: chandlerc, eugenis, cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1341 llvm-svn: 188660
-
Robert Wilhelm authored
llvm-svn: 188659
-
Dmitri Gribenko authored
Move C++-specific tests that were checking if we attach a base class comment to a derived class to an existing test comment-to-html-xml-conversion.cpp. Note that the original testing approach was not actually testing the class--comment relationship. It only checked that we attached the comment *somewhere*. The rest of subclass-comment.mm should be also moved elsewhere. llvm-svn: 188658
-
Dmitri Gribenko authored
comment-misc-tags.m is mostly about miscellaneous Doxygen tags. Move out tests that check if the comment is attached to an ObjC decl. Because the exitsting test for this is in C++ (annotate-comments.cpp), create a new test -- annotate-comments-objc.m. The rest of comment-misc-tags.m should be also moved elsewhere. llvm-svn: 188657
-
Michael Kuperstein authored
* pow(x, 0.5) -> fabs(sqrt(x)) * pow(2.0, x) -> exp2(x) llvm-svn: 188656
-
Hal Finkel authored
We had previously been asserting when faced with a FCOPYSIGN f64, ppcf128 node because there was no way to expand the FCOPYSIGN node. Because ppcf128 is the sum of two doubles, and the first double must have the larger magnitude, we can take the sign from the first double. As a result, in addition to fixing the crash, this is also an optimization. llvm-svn: 188655
-
Elena Demikhovsky authored
llvm-svn: 188654
-
Hal Finkel authored
Modern PPC cores support a floating-point copysign instruction, and we can use this to lower the FCOPYSIGN node (which is created from calls to the libm copysign function). A couple of extra patterns are necessary because the operand types of FCOPYSIGN need not agree. llvm-svn: 188653
-
Craig Topper authored
llvm-svn: 188652
-
David Blaikie authored
DebugInfo: Do not include line/file info for artificial parameters & parameters of artificial functions llvm-svn: 188651
-