summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* <rdar://problem/13140795> Transform the scope type of a pseudo-destructor ↵Douglas Gregor2013-03-082-1/+22
| | | | | | | | | | | | | expression within the object scope. We were transforming the scope type of a pseudo-destructor expression (e.g., the first T in x->T::~T()) as a freestanding type, which meant that dependent template specialization types here would stay dependent even when no template parameters were named. This would eventually mean that a dependent expression would end up in what should be fully-instantiated ASTs, causing IRgen to assert. llvm-svn: 176723
* Early exit from getAllocationData() and isFreeCall() for intrinsics.Michael Ilseman2013-03-081-1/+5
| | | | llvm-svn: 176722
* Assert to bounds check MDNode::getOperand.David Blaikie2013-03-081-0/+1
| | | | | | | | | The getOperandPtr utility already bounds checks, but allows one-off-the-end. This assert should catch the cases that could previously have been dereferencing these one-off-the-end pointer. Happily, no cases of this came up with this change. llvm-svn: 176721
* Remove trailing whitespaceMichael Ilseman2013-03-081-5/+5
| | | | llvm-svn: 176720
* OptionValueFileSpec shouldn't be doing argumentSean Callanan2013-03-081-11/+2
| | | | | | | | | parsing on the file name it gets. That confuses it if there are spaces in the file name. <rdar://problem/13380392> llvm-svn: 176719
* Dump the measurements directly instead of getting their metrics firstEnrico Granata2013-03-081-11/+5
| | | | | | (this code needs to be pushed up so that in the basic scenarios TestCase knows to dump all its measurements directly) llvm-svn: 176718
* [PCH] When complaining that a header from the PCH was modified, also mentionArgyrios Kyrtzidis2013-03-083-3/+3
| | | | | | the filename of the PCH file. llvm-svn: 176717
* [libclang] Modify clang_findReferencesInFile and clang_findIncludesInFile to ↵Argyrios Kyrtzidis2013-03-084-68/+87
| | | | | | | | | | | return a value. Possible values are: 1 : if a parameter was invalid -1 : if the callback returned CXVisit_Break, otherwise returns 0. llvm-svn: 176716
* Initial checkin of a new project: LLDB Performance Testing InfrastructureEnrico Granata2013-03-0818-4/+1642
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a very basic implementation of a library that easily allows to drive LLDB.framework to write test cases for performance This is separate from the LLDB testsuite in test/ in that: a) this uses C++ instead of Python to avoid measures being affected by SWIG b) this is in very early development and needs lots of tweaking before it can be considered functionally complete c) this is not meant to test correctness but to help catch performance regressions There is a sample application built against the library (in darwin/sketch) that uses the famous sample app Sketch as an inferior to measure certain basic parameters of LLDB's behavior. The resulting output is a PLIST much like the following: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <array> <dict> <key>fetch-frames</key> <real>0.13161715522222225</real> </dict> <dict> <key>file-line-bkpt</key> <real>0.029111678750000002</real> </dict> <dict> <key>fetch-modules</key> <real>0.00026376766666666668</real> </dict> <dict> <key>fetch-vars</key> <real>0.17820429311111111</real> </dict> <dict> <key>run-expr</key> <real>0.029676525769230768</real> </dict> </array> </plist> Areas for improvement: - code cleanups (I will be out of the office for a couple days this coming week, but please keep ideas coming!) - more metrics and test cases - better error checking This toolkit also comprises a simple event-loop-driven controller for LLDB, similar yet much simpler to what the Driver does to implement the lldb command-line tool. llvm-svn: 176715
* Added very lightweight, statically-allocatedSean Callanan2013-03-084-5/+117
| | | | | | | | | | | | counters for a variety of metrics associated with expression parsing. This should give some idea of how much work the expression parser is doing on Clang's behalf, and help with hopefully reducing that load over time. <rdar://problem/13210748> Audit type search/import for expressions llvm-svn: 176714
* Removing 'modindex' from clang-tools-extra doc indexEdwin Vane2013-03-081-1/+0
| | | | | | | There are no python modules in clang-tools-extra so a link to this auto-generated page, which currently isn't generated anyway, is not necessary. llvm-svn: 176713
* Fixing Doxygen warnings in cpp11-migrateEdwin Vane2013-03-083-18/+6
| | | | | | Turned on doxygen warnings and fixed the resulting problems. llvm-svn: 176712
* Parsing floating point numbers with very long precision was broken, and this ↵Howard Hinnant2013-03-082-7/+25
| | | | | | patch fixes it. This fixes http://llvm.org/bugs/show_bug.cgi?id=15445. llvm-svn: 176711
* Fixes breaking of string literals.Manuel Klimek2013-03-082-2/+95
| | | | | | | | | 1. We now ignore all non-default string literals, including raw literals. 2. We do not break inside escape sequences any more. FIXME: We still break in trigraphs. llvm-svn: 176710
* Turned no_xform into a pass from expected failure.Edwin Vane2013-03-081-2/+1
| | | | | | | Since no_xform is not a bug to be fixed, made the test pass using the 'not' utility and removed XFAIL. llvm-svn: 176709
* No really, don't use end().Jakob Stoklund Olesen2013-03-081-2/+2
| | | | | | | Clearly, this function is never actually called with the last instruction in the function. llvm-svn: 176708
* Remove -print-dbginfo as it is unused & bitrotten.David Blaikie2013-03-087-297/+0
| | | | | | | | This pass hasn't been touched in two years & would fail with assertions against the current debug info metadata format (the only test case for it still uses a many-versions old debug info metadata format) llvm-svn: 176707
* Rewrite the physreg part of findLastUseBefore().Jakob Stoklund Olesen2013-03-082-24/+76
| | | | | | | | | To find the last use of a register unit, start from the bottom and scan upwards until a user is found. <rdar://problem/13353090> llvm-svn: 176706
* Avoid creating a SlotIndex from the end() iterator.Jakob Stoklund Olesen2013-03-081-6/+10
| | | | | | No test case, spotted by inspection. llvm-svn: 176705
* Remove unused variable.Benjamin Kramer2013-03-081-1/+0
| | | | llvm-svn: 176704
* Remove default from fully covered switch.Benjamin Kramer2013-03-081-2/+1
| | | | llvm-svn: 176703
* Force cpu in test.Benjamin Kramer2013-03-081-1/+1
| | | | llvm-svn: 176702
* Insert the reduction start value into the first bypass block to preserve ↵Benjamin Kramer2013-03-082-1/+36
| | | | | | | | domination. Fixes PR15344. llvm-svn: 176701
* R600: Optimize another selectcc caseTom Stellard2013-03-082-13/+49
| | | | | | | | fold selectcc (selectcc x, y, a, b, cc), b, a, b, setne -> selectcc x, y, a, b, cc Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 176700
* R600: Improve custom lowering of select_ccTom Stellard2013-03-084-40/+82
| | | | | | | | | Two changes: 1. Prefer SET* instructions when possible 2. Handle the CND*_INT case with floating-point args Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 176699
* R600: Change operation action from Custom to Expand for BR_CCTom Stellard2013-03-083-45/+5
| | | | | Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 176698
* R600: Change operation action from Custom to Expand for SETCCTom Stellard2013-03-083-49/+27
| | | | | Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 176697
* R600: Set BooleanContents to ZeroOrNegativeOneBooleanContentTom Stellard2013-03-081-0/+1
| | | | | Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 176696
* LegalizeDAG: Respect the result of TLI.getBooleanContents() when expanding SETCCTom Stellard2013-03-082-1/+39
| | | | llvm-svn: 176695
* DAGCombiner: Use correct value type for checking legality of BR_CC v3Tom Stellard2013-03-087-7/+26
| | | | | | | | | | | | | LegalizeDAG.cpp uses the value of the comparison operands when checking the legality of BR_CC, so DAGCombiner should do the same. v2: - Expand more BR_CC value types for NVPTX v3: - Expand correct BR_CC value types for Hexagon, Mips, and XCore. llvm-svn: 176694
* R600: Change addresspace in fold-kcache.llVincent Lejeune2013-03-081-12/+12
| | | | | | | AddressSpace definition has changed in a previous commit, reflect it to avoid false failure. llvm-svn: 176693
* AArch64: specify full triple in test as only Linux works for now.Tim Northover2013-03-081-1/+1
| | | | llvm-svn: 176692
* R600/SI: adjust test to recent changesChristian Konig2013-03-081-8/+6
| | | | | Signed-off-by: Christian König <christian.koenig@amd.com> llvm-svn: 176691
* Extend loop variable naming checksEdwin Vane2013-03-0815-166/+306
| | | | | | | | | | | | The loop convert tests for conflicting names have been extended to check for macro names, types, and language keywords including language extensions. Tests have also been added. Fixes PR15322 Author: Jack Yang <jack.yang@intel.com> Reviewer: gribozavr, klimek, revane llvm-svn: 176690
* Hexagon: Add patterns for zero extended loads from i1->i64.Jyotsna Verma2013-03-083-0/+49
| | | | llvm-svn: 176689
* AArch64: expand sincos operations, we don't support them.Tim Northover2013-03-082-0/+38
| | | | | | Patch based on Mans Rullgard's. llvm-svn: 176688
* R600/SI: Use source schedulerMichel Danzer2013-03-081-0/+2
| | | | | | | | | | | | | | | This is certainly not the last word on scheduling for this target, but right now this allows a few apps to run / finish with radeonsi, most notably UT2004 / Lightsmark. They fail to compile some shaders with the default scheduler because it ends up trying to spill registers, which we don't support yet (and which is probably a bad idea in general for performance if it can be avoided). NOTE: This is a candidate for the Mesa stable branch. Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> llvm-svn: 176687
* Add support for the OpenCL attribute 'vec_type_hint'.Joey Gouly2013-03-088-15/+156
| | | | | | Patch by Murat Bolat! llvm-svn: 176686
* Add -verify-misched option.Andrew Trick2013-03-081-0/+9
| | | | | | | | | | This verifies live intervals both before and after scheduling. It's useful for anyone hacking on live interval update. Note that we don't yet pass verification all the time. We don't yet handle updating nonallocatable live intervals perfectly. llvm-svn: 176685
* Update PlatformDarwin to understand how armv7m / armv7em relateJason Molenda2013-03-081-12/+54
| | | | | | | | to the other armv7 types as far as compatibility/interchangability goes. <rdar://problem/13361372> llvm-svn: 176684
* <rdar://problem/13374267>Greg Clayton2013-03-083-15/+14
| | | | | | Fixed error where objective C methods with selectors names starting with ".cxx_" where causing errors for ARC built binaries. llvm-svn: 176683
* [libclang] Introduce clang_findIncludesInFile, that can be used to retrieve ↵Argyrios Kyrtzidis2013-03-086-4/+249
| | | | | | | | | all #import/#include directives in a specific file. It passes to the visitor, that the caller provides, CXCursor_InclusionDirective cursors for all the include directives in a particular file. llvm-svn: 176682
* [libclang] When calling the function of CXCursorAndRangeVisitor, don't forget toArgyrios Kyrtzidis2013-03-081-4/+6
| | | | | | stop visitation if it returns CXVisit_Break. llvm-svn: 176681
* [libclang] Add Logger::operator<< overloads for CXCursor and FileEntry.Argyrios Kyrtzidis2013-03-083-0/+18
| | | | llvm-svn: 176680
* Another test fix for r176671.David Blaikie2013-03-081-1/+1
| | | | llvm-svn: 176679
* Couple of test fixes for r176671.David Blaikie2013-03-082-5/+5
| | | | | | | Not sure why these aren't failing on my linux machine, but this should cover it. llvm-svn: 176678
* Revert r176154 in favor of a better approach.Bill Wendling2013-03-083-15/+50
| | | | | | | | | | | | | | | | | | | Code generation makes some basic assumptions about the IR it's been given. In particular, if there is only one 'invoke' in the function, then that invoke won't be going away. However, with the advent of the `llvm.donothing' intrinsic, those invokes may go away. If all of them go away, the landing pad no longer has any users. This confuses the back-end, which asserts. This happens with SjLj exceptions, because that's the model that modifies the IR based on there being invokes, etc. in the function. Remove any invokes of `llvm.donothing' during SjLj EH preparation. This will give us a CFG that the back-end won't be confused about. If all of the invokes in a function are removed, then the SjLj EH prepare pass won't insert the bogus code the relies upon the invokes being there. <rdar://problem/13228754&13316637> llvm-svn: 176677
* <rdar://problem/13119621>Greg Clayton2013-03-084-33/+98
| | | | | | | | Make dynamic type detection faster by using the AST metadata to help out and allow us not to complete types when we don't need to. After running "purge" on a MacOSX system, the Xcode variables view now populates more than 3x faster with this fix. llvm-svn: 176676
* remove an ancient and quaint bit of commented out makefile goo from whenChris Lattner2013-03-081-6/+0
| | | | | | GCC was the system compiler on the mac. llvm-svn: 176675
* Add recognition of two more armv7 variants, armv7m and armv7em.Jason Molenda2013-03-082-7/+21
| | | | | | <rdar://problem/13361372> llvm-svn: 176674
OpenPOWER on IntegriCloud