summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Expose LambdaIntroducer::DefaultLoc in the AST's LambdaExpr.James Dennett2013-08-099-20/+70
| | | | | | | | | | | | | | | | | | | | | Summary: Source-centric tools need access to the location of a C++11 lambda expression's capture-default ('&' or '=') when it's present. It's possible for them to find it by re-lexing and re-implementing rules that Clang's parser has already applied, but the cost of storing the SourceLocation and making it available to them is 32 bits per LambdaExpr (a small delta, proportionally), and the simplification in client code is significant. Reviewers: rsmith Reviewed By: rsmith CC: cfe-commits, klimek, revane Differential Revision: http://llvm-reviews.chandlerc.com/D1192 llvm-svn: 188121
* Fix typo in template diffing docs.Richard Trieu2013-08-091-1/+1
| | | | llvm-svn: 188120
* Kill some duplicated code for removing unreachable BBs.Peter Collingbourne2013-08-093-174/+152
| | | | | | | | | | | This moves removeUnreachableBlocksFromFn from SimplifyCFGPass.cpp to Utils/Local.cpp and uses it to replace the implementation of llvm::removeUnreachableBlocks, which appears to do a strict subset of what removeUnreachableBlocksFromFn does. Differential Revision: http://llvm-reviews.chandlerc.com/D1334 llvm-svn: 188119
* [tests] Add one more lit rename update I missed.Daniel Dunbar2013-08-091-0/+2
| | | | llvm-svn: 188117
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-0926-100/+120
| | | | llvm-svn: 188116
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-092-13/+16
| | | | llvm-svn: 188114
* DataFlowSanitizer: Remove unreachable BBs so IR continues to verifyPeter Collingbourne2013-08-092-0/+23
| | | | | | | | under the args ABI. Differential Revision: http://llvm-reviews.chandlerc.com/D1316 llvm-svn: 188113
* Fix for PR16570: when comparing two function pointers, discard qualifiers whenRichard Trieu2013-08-092-1/+54
| | | | | | | | | | comparing non-reference function parameters. The qualifiers don't matter for comparisons. This is a re-commit of r187769, which was accidentially reverted in r187770, with a simplification at the suggestion of Eli Friedman. llvm-svn: 188112
* [lit] Remove old ExamplesTests directory.Daniel Dunbar2013-08-0923-262/+0
| | | | | | | - The actual tests have better coverage than those, and they weren't useful anymore. llvm-svn: 188110
* [lit] Move ManyTests examples to lit/examples/many-tests.Daniel Dunbar2013-08-093-1/+18
| | | | llvm-svn: 188109
* [lit] Drop deprecated aliases for lit and old module names.Daniel Dunbar2013-08-093-14/+0
| | | | llvm-svn: 188108
* [lit] Update lit's own tests to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-0911-4/+15
| | | | llvm-svn: 188107
* Add another intrinsic that LLVM gives an incorrect prototype to.Reed Kotler2013-08-092-0/+19
| | | | | | | | I need to go through all the runtime routine list and see if there are any more I need to add for mips16 floating point. Prototypes must be correct or else I don't know to add a helper function call. llvm-svn: 188106
* [stackprotector] Simplify SP Pass so that we emit different fail basic ↵Michael Gottesman2013-08-092-10/+14
| | | | | | | | | | | | | blocks for each fail condition. This patch decouples the stack protector pass so that we can support stack protector implementations that do not use the IR level generated stack protector fail basic block. No codesize increase is caused by this change since the MI level tail merge pass properly merges together the fail condition blocks (see the updated test). llvm-svn: 188105
* Mark obviously const methods. Also use reference for parameters when possible.Jakub Staszak2013-08-091-8/+8
| | | | llvm-svn: 188103
* Disable debugserver builds on non-Mac platformsDaniel Malea2013-08-091-1/+3
| | | | | | - building on other platforms not supported yet llvm-svn: 188102
* [arcmt] When handling unbridged casts, handle the body of BlockDecl ↵Argyrios Kyrtzidis2013-08-092-1/+20
| | | | | | | | | | separately because ParentMap does not record Stmt parent nodes inside a BlockDecl. Fixes rdar://14686900 llvm-svn: 188101
* [docs] Update TestingGuide's note on how to run with Valgrind.Daniel Dunbar2013-08-091-3/+5
| | | | llvm-svn: 188097
* [lit] Fix typo.Daniel Dunbar2013-08-091-1/+1
| | | | | | - Noticed by edward-san (IRC). llvm-svn: 188096
* Add a overload to CostTable which allows it to infer the size of the table.Benjamin Kramer2013-08-093-76/+78
| | | | | | | | Use it to avoid repeating ourselves too often. Also store MVT::SimpleValueType in the TTI tables so they can be statically initialized, MVT's constructors create bloated initialization code otherwise. llvm-svn: 188095
* cpp11-migrate: Fixed path problem with include/exclude pathsTareq A. Siraj2013-08-093-8/+34
| | | | | | | | | | This fixes a problem when the path separator in the include/exclude directory is different (e.g. "\" vs. "/") from the path separator in the file path we are modifying. Differential Revision: http://llvm-reviews.chandlerc.com/D1326 llvm-svn: 188094
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-094-23/+28
| | | | llvm-svn: 188093
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-094-28/+33
| | | | llvm-svn: 188092
* Add description of function attribute 'minsize' in LangRef.rst.Andrea Di Biagio2013-08-091-1/+7
| | | | llvm-svn: 188091
* [PECOFF] Add a note about underscore symbol prefix.Rui Ueyama2013-08-091-1/+6
| | | | llvm-svn: 188090
* Omit llvm:: before ArrayRef, as we have using llvm::ArrayRef in ↵Robert Wilhelm2013-08-097-35/+28
| | | | | | include/clang/Basic/LLVM.h. llvm-svn: 188089
* Remove "static" on simple temporary StringRef.Benjamin Kramer2013-08-091-1/+1
| | | | llvm-svn: 188088
* CHECK-LABEL-ify testsStephen Lin2013-08-093-11/+11
| | | | llvm-svn: 188087
* clang-cl: Don't pass /defaultlib to the linkerHans Wennborg2013-08-091-1/+2
| | | | | | | Since r187945, clang-cl will add the runtime library dependency to the .obj file. llvm-svn: 188086
* Only emit debug info for implicit members that actually get codegen, not ↵David Blaikie2013-08-094-35/+32
| | | | | | | | | | | | just ODR use. This includes special members (copy/default ctor, copy assign, default ctor) and template specializations for member function templates. Good for a 5% decrease (1.80 to 1.71 GB) in size on Clang+LLVM's .dwo files (when using fission). llvm-svn: 188085
* Add a convenient way to compare GCCVersions without creating temporary objects.Benjamin Kramer2013-08-092-16/+21
| | | | | | No functionality change. llvm-svn: 188084
* DirectIvarAssignment: Replace vtable'd objects with simple functions.Benjamin Kramer2013-08-091-31/+19
| | | | | | Avoids unnecessary static constructors. llvm-svn: 188083
* DebugInfo: provide the ability to add members to a class after it has been ↵David Blaikie2013-08-092-0/+14
| | | | | | | | | | constructed This is necessary to allow Clang to only emit implicit members when there is code generated for them, rather than whenever they are ODR used. llvm-svn: 188082
* Make directory iterator sentinels free.Benjamin Kramer2013-08-091-3/+9
| | | | | | | This trades some complexity in operator== for not introducing static objects into any functions using recursive directory iterators. llvm-svn: 188081
* Add a check for arrays of unknown bounds to is_destructible. This fixes ↵Howard Hinnant2013-08-092-0/+6
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=16839 llvm-svn: 188080
* ELFObjectFile.h: Silence warning on WindowsHans Wennborg2013-08-091-1/+2
| | | | | | | | | | | | The compiler was warning about using | on a uintptr_t and bool: Object/ELFObjectFile.h(131) : warning C4805: '|' : unsafe mix of type 'uintptr_t' and type 'bool' in operation I think the warning might be useful in other cases, so I added a cast instead of disabling it altogether. llvm-svn: 188079
* Add support for building debugserver with CMake (on Mac OS X)Daniel Malea2013-08-099-4/+146
| | | | | | | | - updated RNBDefs.h to allow version numbers to be passed in via preprocessor defines - update libdebugserver.cpp to compile against latest DNBProcessKill signature Review: http://llvm-reviews.chandlerc.com/D1331 llvm-svn: 188078
* Partial implementation of N3665. This paper was not voted into the C++1y ↵Howard Hinnant2013-08-091-0/+14
| | | | | | draft. However I was looking at it and with some experimentation realized that I could partially implement it, and at the same time offer a performance optimization to cout. I simply added an xsputn override to the cout filebuf. The override does nothing special at all if there is a non-trivial codecvt installed. However if the codecvt returns true for always_noconv(), then this function can dump an entire string to fwrite, instead of doing it a character at a time under overflow(). This just makes sense. I stopped short of a full implementation of N3665 because in order to do so, xsputn would have to allocate a buffer when always_noconv() returned false, and I don't want to go to that expense. llvm-svn: 188077
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-094-32/+35
| | | | llvm-svn: 188076
* Handle SI_KERNEL signal code for SIGSEGV exceptions.Matt Kopec2013-08-091-0/+6
| | | | | | Patch by Richard Mitton. llvm-svn: 188075
* Make helper static and fix formatting.Benjamin Kramer2013-08-091-5/+4
| | | | llvm-svn: 188074
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-092-18/+23
| | | | llvm-svn: 188073
* [tests] Update to use lit_config and lit package, as appropriate.Daniel Dunbar2013-08-094-39/+46
| | | | llvm-svn: 188072
* This fixes the Thumb2 CPS assembly syntax.Mihai Popa2013-08-094-2/+41
| | | | | | | | | | | | | | In Thumb1, only one variant is supported: CPS{effect} {flags} Thumb2 supports three: CPS{effect}.W {flags} CPS{effect} {flags} {mode} CPS {mode} Canonically, .W should be used only when ambiguity is present between encodings of different width. The wide suffix is still accepted for the latter two forms via aliases. llvm-svn: 188071
* Fixed coding convention naming issue - variable names start with uppercase.John Thompson2013-08-091-33/+33
| | | | llvm-svn: 188070
* [sanitizer] Fix handling of %n in scanf interceptor.Evgeniy Stepanov2013-08-092-2/+4
| | | | | | | %n does not increase the input item count. The new code emits writes to %n arguments even if it has run out of input items. llvm-svn: 188069
* Fixup for r188058: assume hasAsanZeroBaseShadow() is false if ASan is not neededAlexey Samsonov2013-08-092-0/+5
| | | | llvm-svn: 188068
* Fix assembling of Thumb2 branch instructions.Mihai Popa2013-08-0910-16/+451
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The long encoding for Thumb2 unconditional branches is broken. Additionally, there is no range checking for target operands; as such for instructions originating in assembly code, only short Thumb encodings are generated, regardless of the bitsize needed for the offset. Adding range checking is non trivial due to the representation of Thumb branch instructions. There is no true difference between conditional and unconditional branches in terms of operands and syntax - even unconditional branches have a predicate which is expected to match that of the IT block they are in. Yet, the encodings and the permitted size of the offset differ. Due to this, for any mnemonic there are really 4 encodings to choose for. The problem cannot be handled in the parser alone or by manipulating td files. Because the parser builds first a set of match candidates and then checks them one by one, whatever tablegen-only solution might be found will ultimately be dependent of the parser's evaluation order. What's worse is that due to the fact that all branches have the same syntax and the same kinds of operands, that order is governed by the lexicographical ordering of the names of operand classes... To circumvent all this, any necessary disambiguation is added to the instruction validation pass. llvm-svn: 188067
* Remove byte order mark from source file.Benjamin Kramer2013-08-091-1/+1
| | | | llvm-svn: 188066
* Add lrint to the list of math builtins. It never sets errno so we can mark ↵Benjamin Kramer2013-08-092-9/+22
| | | | | | it as readnone. llvm-svn: 188065
OpenPOWER on IntegriCloud