summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* More direct types in PowerPC AltiVec intrinsics.Ulrich Weigand2013-04-031-47/+29
| | | | | | | | | | This patch follows up on work done by Bill Schmidt in r178277, and replaces most of the remaining uses of VRRC in ISEL DAG patterns. The resulting .inc files are identical except for comments, so no change in code generation is expected. llvm-svn: 178656
* Improve formatting of for loops and multi-variable DeclStmts.Daniel Jasper2013-04-034-31/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This combines several related changes: a) Don't break before after the variable types in for loops with a single variable. b) Better indent DeclStmts defining multiple variables. Before: bool aaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaa), bbbbbbbbbbbbbbbbbbbbbbbbb = bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb(bbbbbbbbbbbbbbbb); for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaa = aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa; aaaaaaaaaaa != aaaaaaaaaaaaaaaaaaa; ++aaaaaaaaaaa) { } After: bool aaaaaaaaaaaaaaaaaaaaaaaaa = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaa), bbbbbbbbbbbbbbbbbbbbbbbbb = bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb(bbbbbbbbbbbbbbbb); for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaa = aaaaaaaaaaaaaaaa.aaaaaaaaaaaaaaa; aaaaaaaaaaa != aaaaaaaaaaaaaaaaaaa; ++aaaaaaaaaaa) { } llvm-svn: 178641
* [Sanitizer] Fix OnPrint weak hook. Disable weak hooks for gotsan.Alexey Samsonov2013-04-032-7/+7
| | | | llvm-svn: 178640
* Fix PR15632: No support for ppcf128 floating-point remainder on PowerPC.Bill Schmidt2013-04-034-0/+28
| | | | | | | | For this we need to use a libcall. Previously LLVM didn't implement libcall support for frem, so I've added it in the usual straightforward manner. A test case from the bug report is included. llvm-svn: 178639
* Even better way to handle comments adjacent to preprocessor directives.Alexander Kornienko2013-04-032-3/+12
| | | | | | | | | | | | | | | | | | Summary: It turns out that we don't need to store CommentsBeforeNextToken in the line state, but rather flush them before we start parsing preprocessor directives. This fixes wrong comment indentation in code blocks in macro calls (the test is included). Reviewers: klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D617 llvm-svn: 178638
* AArch64: implement ETMv4 trace system registers.Tim Northover2013-04-035-0/+2090
| | | | llvm-svn: 178637
* Second pass at addressing PR15351 by explicitly checking for AVX supportAaron Ballman2013-04-031-2/+25
| | | | | | when getting the host processor information. It emits a .byte sequence on GNUC compilers to work around lack of xgetbv support with older assemblers, and resolves a comment typo found in the previous patch. llvm-svn: 178636
* Temporarily relax the WIN32 checks in the SRet test to fix the Atom D2700 botTimur Iskhodzhanov2013-04-031-2/+5
| | | | llvm-svn: 178635
* Fix SRet for thiscall in i686-pc-win32Timur Iskhodzhanov2013-04-033-49/+42
| | | | llvm-svn: 178634
* AArch64: switch patterns to be type-based rather than RegClass-basedTim Northover2013-04-031-503/+492
| | | | | | | It's a bit of churn in the blame log, but I think there are real benefits to the newer system so I'm making the change in one go. llvm-svn: 178633
* Enable use of _Static_assert inside structs and unions in C11 mode (as per ↵Andy Gibbs2013-04-032-2/+38
| | | | | | C11 6.7.2.1p1). llvm-svn: 178632
* Assert that Parser::ParseStructUnionBody is not called for C++ code.Andy Gibbs2013-04-031-3/+3
| | | | llvm-svn: 178631
* [Sanitizer] Be more careful with arch-specific defines in StopTheWorld codeAlexey Samsonov2013-04-032-4/+7
| | | | llvm-svn: 178630
* [ASan] Kill the remainders of platform defines in favor of SANITIZER_ definesAlexey Samsonov2013-04-038-9/+9
| | | | llvm-svn: 178629
* <rdar://problem/13416800>Greg Clayton2013-04-031-4/+21
| | | | | | ptr_refs command frequently doesn't work when run in large applicaton. This was due to the default timeout of 500ms. The timeouts have now been increased and all expression evaluations have been modified. llvm-svn: 178628
* [Sanitizer] Kill the remainders of platform defines in favor of SANITIZER_ ↵Alexey Samsonov2013-04-0311-22/+23
| | | | | | defines llvm-svn: 178627
* Cleanup, add comments and address review comments.Daniel Jasper2013-04-031-9/+18
| | | | | | No functional changes. llvm-svn: 178626
* [Sanitizer] Fix StopTheWorld includes on Android. Patch by Sergey Matveev.Alexey Samsonov2013-04-031-6/+18
| | | | llvm-svn: 178625
* Fix grammar.Eric Christopher2013-04-031-1/+1
| | | | llvm-svn: 178624
* Remove ZeroOrMore from the option description. We don't need it here.Eric Christopher2013-04-031-1/+1
| | | | llvm-svn: 178623
* [modules] If a submodule has re-definitions of the same macro, only the last ↵Argyrios Kyrtzidis2013-04-032-2/+8
| | | | | | | | definition will be used as the "exported" one. Fixes rdar://13562262 llvm-svn: 178622
* Add 64-bit compare + branch for SPARC v9.Jakob Stoklund Olesen2013-04-036-5/+68
| | | | | | | | | | The same compare instruction is used for 32-bit and 64-bit compares. It sets two different sets of flags: icc and xcc. This patch adds a conditional branch instruction using the xcc flags for 64-bit compares. llvm-svn: 178621
* Remove a bit of code duplication in RNBRemote::HandlePacket_qProcessInfo -Jason Molenda2013-04-031-11/+3
| | | | | | call DNBProcessGetCPUType() to get the cputype of the process we're debugging. llvm-svn: 178620
* Fix another old usage of GetCurrentThread() to get a mach portJason Molenda2013-04-035-1/+21
| | | | | | | | | number in RNBRemote::HandlePacket_qProcessInfo -- add a new GetCurrentThreadMachPort() so callers who need to make a mach thred_get_state() call at the RNBRemote level will have a way to get the port number. llvm-svn: 178619
* Remove some unsupported-feature comments from PPC.tdHal Finkel2013-04-031-3/+0
| | | | | | These refer to the reciprocal estimate support recently committed. llvm-svn: 178618
* Use PPC reciprocal estimates with Newton iteration in fast-math modeHal Finkel2013-04-038-30/+499
| | | | | | | | | | | | | | | | | | | When unsafe FP math operations are enabled, we can use the fre[s] and frsqrte[s] instructions, which generate reciprocal (sqrt) estimates, together with some Newton iteration, in order to quickly generate floating-point division and sqrt results. All of these instructions are separately optional, and so each has its own feature flag (except for the Altivec instructions, which are covered under the existing Altivec flag). Doing this is not only faster than using the IEEE-compliant fdiv/fsqrt instructions, but allows these computations to be pipelined with other computations in order to hide their overall latency. I've also added a couple of missing fnmsub patterns which turned out to be missing (but are necessary for good code generation of the Newton iterations). Altivec needs a similar fix, but that will probably be more complicated because fneg is expanded for Altivec's v4f32. llvm-svn: 178617
* Use getPredefinesFileID() appropriately.Douglas Gregor2013-04-031-2/+2
| | | | | | Thanks to Argyrios for the pointer. llvm-svn: 178616
* Fix the fde encoding used by mips to match gas.Rafael Espindola2013-04-034-112/+163
| | | | | | | | | | | | | This finally fixes the encoding. The patch also * Removes eh-frame.ll. It was an unnecessary .ll to .o test that was checking the wrong value. * Merge fde-reloc.s and eh-frame.s into a single test, since the only difference was the run lines. * Don't blindly test the content of the entire .eh_frame section. It makes it hard to anyone actually fixing a bug and hitting a difference in a binary blob. Instead, use a CHECK for each field and document what is being checked. llvm-svn: 178615
* Rolling back the AVX support patch due to breaking a gcc 4.6 build bot that ↵Aaron Ballman2013-04-031-23/+2
| | | | | | doesn't understand the xgetbv instruction for some reason. Will revisit when time permits. llvm-svn: 178614
* Refactor the Get* functions to be more consistant among themselves.Richard Trieu2013-04-031-22/+23
| | | | llvm-svn: 178613
* Remove an optimization where we were changing an objc_autorelease into an ↵Michael Gottesman2013-04-034-32/+9
| | | | | | | | | | | | | | | | | | | | | objc_autoreleaseReturnValue. The semantics of ARC implies that a pointer passed into an objc_autorelease must live until some point (potentially down the stack) where an autorelease pool is popped. On the other hand, an objc_autoreleaseReturnValue just signifies that the object must live until the end of the given function at least. Thus objc_autorelease is stronger than objc_autoreleaseReturnValue in terms of the semantics of ARC* implying that performing the given strength reduction without any knowledge of how this relates to the autorelease pool pop that is further up the stack violates the semantics of ARC. *Even though objc_autoreleaseReturnValue if you know that no RV optimization will occur is more computationally expensive. llvm-svn: 178612
* Do not assume the template argument is an integer only because theRichard Trieu2013-04-032-2/+6
| | | | | | | | | | expressions are integer. It can also be ValueDecl expressions Use the type information from the TemplateParameterList instead Patch by Olivier Goffart! llvm-svn: 178611
* Fix a crasher in Template Diffing.Richard Trieu2013-04-032-1/+41
| | | | | | | | | | When support was added for declaration arguments, the case of variadic declaration arguments was not supported. This patch fixes that problem by not crashing when certain ValueDecl's are null. Patch by Olivier Goffart! llvm-svn: 178610
* Fix a crasher in Template Diffing.Richard Trieu2013-04-032-51/+102
| | | | | | | | | | | | Value depenedent expressions for default arguments cannot be evaluated. Instead, use the desugared template type to get an argument expression that can be used. This is needed for both integer and declaration arguements. Also, move this common code into a separate function. Patch by Olivier Goffart! llvm-svn: 178609
* <rdar://problem/13506727> Greg Clayton2013-04-0314-269/+952
| | | | | | | | | | | | Symbol table function names should support lookups like symbols with debug info. To fix this I: - Gutted the way FindFunctions is used, there used to be way too much smarts only in the DWARF plug-in - Made it more efficient by chopping the name up once and using simpler queries so that SymbolFile and Symtab plug-ins don't need to do as much - Filter the results at a higher level - Make the lldb_private::Symtab able to chop up C++ mangled names and make as much sense out of them as possible and also be able to search by basename, fullname, method name, and selector name. llvm-svn: 178608
* Move this file into the correct directory.Eric Christopher2013-04-031-0/+0
| | | | llvm-svn: 178607
* From PR9121 gcc defaulted to omitting the frame pointer on linux,Eric Christopher2013-04-032-34/+39
| | | | | | | | however, it doesn't do that unless we're optimizing. Change that and haul out to a helper function. Also make this a driver test appropriate rather than an assembly test. llvm-svn: 178606
* Improved comment. No functionality change.Michael Gottesman2013-04-031-1/+2
| | | | llvm-svn: 178605
* Attempting to fix the build on older GCC versions.Aaron Ballman2013-04-031-1/+2
| | | | llvm-svn: 178604
* Escape more @ signs in Doxygen comments.Jordan Rose2013-04-034-8/+12
| | | | | | | | | | Doxygen treats "@command" the same as "\command" in a doc comment, so whenever we talk about Objective-C things like "@interface" we have to make sure to escape them. Let's try to keep Clang -Wdocumentation-clean! llvm-svn: 178603
* [analyzer] Better model for copying of array fields in implicit copy ctors.Jordan Rose2013-04-035-38/+288
| | | | | | | | | | | | - Find the correct region to represent the first array element when constructing a CXXConstructorCall. - If the array is trivial, model the copy with a primitive load/store. - Don't warn about the "uninitialized" subscript in the AST -- we don't use the helper variable that Sema provides. <rdar://problem/13091608> llvm-svn: 178602
* <rdar://problem/13563403>Enrico Granata2013-04-032-10/+118
| | | | | | | | Reimplemented the NSDictionary synthetic children provider for added performance. Instead of generating pairs by running an expression, we now create a pair type using clang-level APIs and fill in a buffer with the pointers to key and value This strategy takes the time required to dump a 10k items __NSDictionaryM from ~45s to <4s llvm-svn: 178601
* Remove anonymous namespace.Rafael Espindola2013-04-031-4/+0
| | | | | | | | | | | Looks like the gcc in http://lab.llvm.org:8011/builders/clang-x86_64-darwin11-self-mingw32/ doesn't like "not external linkage": /Volumes/Macintosh_HD2/buildbots/clang-x86_64-darwin11-self-mingw32/llvm.src/include/llvm/Support/YAMLTraits.h: In instantiation of 'const bool llvm::yaml::has_SequenceMethodTraits<std::vector<<unnamed>::COFFYAML::Relocation, std::allocator<<unnamed>::COFFYAML::Relocation> > >::value': /Volumes/Macintosh_HD2/buildbots/clang-x86_64-darwin11-self-mingw32/llvm.src/include/llvm/Support/YAMLTraits.h:281: instantiated from 'llvm::yaml::has_SequenceTraits<std::vector<<unnamed>::COFFYAML::Relocation, std::allocator<<unnamed>::COFFYAML::Relocation> > >' /Volumes/Macintosh_HD2/buildbots/clang-x86_64-darwin11-self-mingw32/llvm.src/utils/yaml2obj/yaml2obj.cpp:627: instantiated from here /Volumes/Macintosh_HD2/buildbots/clang-x86_64-darwin11-self-mingw32/llvm.src/include/llvm/Support/YAMLTraits.h:243: error: 'llvm::yaml::SequenceTraits<std::vector<<unnamed>::COFFYAML::Relocation, std::allocator<<unnamed>::COFFYAML::Relocation> > >::size' is not a valid template argument for type 'size_t (*)(llvm::yaml::IO&, std::vector<<unnamed>::COFFYAML::Relocation, std::allocator<<unnamed>::COFFYAML::Relocation> >&)' because function 'static size_t llvm::yaml::SequenceTraits<std::vector<<unnamed>::COFFYAML::Relocation, std::allocator<<unnamed>::COFFYAML::Relocation> > >::size(llvm::yaml::IO&, std::vector<<unnamed>::COFFYAML::Relocation, std::allocator<<unnamed>::COFFYAML::Relocation> >&)' has not external linkage llvm-svn: 178600
* In ObjC++ on legacy runtimes, push an EH cleanup as well asJohn McCall2013-04-033-3/+86
| | | | | | | | | | | | a normal cleanup when entering a @try or @synchronized to ensure that we clean that up if an exception is triggered. Apparently GCC did this, so it's hard to argue that we shouldn't do at least as much. rdar://12364847 llvm-svn: 178599
* This patch addresses PR15351 by explicitly checking for AVX supportAaron Ballman2013-04-031-2/+22
| | | | | | when getting the host processor information. llvm-svn: 178598
* Allow partial matching for alias commands as well as regular commands.Jim Ingham2013-04-032-6/+40
| | | | | | <rdar://problem/13552724> llvm-svn: 178597
* Improved reporting of faults on i386.Sean Callanan2013-04-031-1/+8
| | | | | | <rdar://problem/13558979> llvm-svn: 178596
* Fixed the version test for darwin.Greg Clayton2013-04-031-1/+1
| | | | llvm-svn: 178595
* Use yaml::IO in yaml2obj.cpp.Rafael Espindola2013-04-021-551/+346
| | | | | | | The generic structs and specializations will be refactored when obj2yaml is changed to use yaml::IO. llvm-svn: 178593
* Objective-C arc [qui]. Don't issue the bridge castFariborz Jahanian2013-04-023-16/+19
| | | | | | | | warning when doing a __bride cast in non-arc mode (which has no retain count effect). // rdar://13514210 llvm-svn: 178592
OpenPOWER on IntegriCloud