summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Formatter: Detect ObjC message expressions after 'in' in loopNico Weber2013-02-114-6/+26
| | | | | | | | | | | | | | | | Before: for (id foo in[self getStuffFor : bla]) { } Now: for (id foo in [self getStuffFor:bla]) { } "in" is treated as loop keyword if the line starts with "for", and as a regular identifier else. To check for "in", its IdentifierInfo is handed through a few layers. llvm-svn: 174889
* [sanitizer] clang-format pass over scanf code.Evgeniy Stepanov2013-02-112-85/+86
| | | | llvm-svn: 174888
* [sanitizer] scanf: don't report stores that did not happen.Evgeniy Stepanov2013-02-113-20/+51
| | | | | | | Respect REAL(scanf) return value and don't report memory stores that could potentially happen, but did not. llvm-svn: 174887
* [asan] added a flag -mllvm asan-short-64bit-mapping-offset=1 (0 by default)Kostya Serebryany2013-02-111-2/+8
| | | | | | | | | | This flag makes asan use a small (<2G) offset for 64-bit asan shadow mapping. On x86_64 this saves us a register, thus achieving ~2/3 of the zero-base-offset's benefits in both performance and code size. Thanks Jakub Jelinek for the idea. llvm-svn: 174886
* AArch64: fix build on some MSVC versionsTim Northover2013-02-111-3/+3
| | | | | | | | | | | | | | | This does two things: It removes a call to abs() which may have "long long" parameter on Windows, which is not necessarily available in C++03. It also corrects the signedness of Amount, which was relying on implementation-defined conversions previously. Code was already tested (albeit in an implemnetation defined way) so no extra tests. llvm-svn: 174885
* Restore the resurrected doc link previously deletedBill Schmidt2013-02-111-0/+2
| | | | llvm-svn: 174884
* [sanitizer] Remove an extra va_copy.Evgeniy Stepanov2013-02-112-8/+5
| | | | llvm-svn: 174883
* [sanitizer] Scanf parser improvements.Evgeniy Stepanov2013-02-112-14/+63
| | | | | | | | | Handle %a in cases when it is unambiguous. Handle %m. Patch by Jakub Jelinek. llvm-svn: 174882
* Remove a dead PowerPC doc linkBill Schmidt2013-02-111-2/+0
| | | | llvm-svn: 174881
* Get rid of manual debug output, now that the test runner supports it.Manuel Klimek2013-02-113-9/+0
| | | | | | You can run tests with -debug instead now. llvm-svn: 174880
* Fix invalid formatting with spaces before trailing comments.Daniel Jasper2013-02-114-9/+14
| | | | | | | | In google style, trailing comments are separated by two spaces. This patch fixes the counting of these spaces and prevents clang-format from creating a line with 81 columns. llvm-svn: 174879
* Fixes handling of empty lines in macros.Manuel Klimek2013-02-113-4/+26
| | | | | | | | | | | | | | Now correctly formats: #define A \ \ b; to #define A b; Added the state whether an unwrapped line is a macro to the debug output. llvm-svn: 174878
* AArch64: Simplify logic in deciding whether bfi is validTim Northover2013-02-111-6/+1
| | | | | | | | Previous code had a confusing comment which was mostly an implementation detail. This condition corresponds to "lsb up to register width" and "width not ridiculous". llvm-svn: 174877
* [msan] Lit tests for MemorySanitizer.Evgeniy Stepanov2013-02-1110-22/+208
| | | | | | | | Build system setup for MSan lit tests (build with freshly-built clang, run, check output) - a nearly exact copy from ASan. First 2 lit tests for MSan. llvm-svn: 174876
* [tsan] added tsan-vs-gvn testKostya Serebryany2013-02-111-0/+40
| | | | llvm-svn: 174875
* AArch64: Add basic relocation processing for llvm-dwarfdump.Tim Northover2013-02-113-0/+46
| | | | | | | This allows llvm-dwarfdump to handle the relocations needed, at least for LLVM-produced code. llvm-svn: 174874
* AArch64: Undo change to how test was runTim Northover2013-02-111-1/+2
| | | | | | This broke on Windows, presumably due to interleaving of output streams. llvm-svn: 174873
* [cmake] Make CLooG optionalTobias Grosser2013-02-111-1/+1
| | | | | | CLooG is already optional in the autoconf build. llvm-svn: 174872
* Make use of DiagnosticType to provide better AArch64 diagnostics.Tim Northover2013-02-113-519/+722
| | | | | | | | | This gives a DiagnosticType to all AsmOperands in sight. This replaces all "invalid operand" diagnostics with something more specific. The messages given should still be sufficiently vague that they're not usually actively misleading when LLVM guesses your instruction incorrectly. llvm-svn: 174871
* Add support for updating LiveIntervals to ↵Cameron Zwarich2013-02-112-1/+69
| | | | | | | | | | | | | | | MachineBasicBlock::SplitCriticalEdge(). This is currently a bit hairier than it needs to be, since depending on where the split block resides the end ListEntry of the split block may be the end ListEntry of the original block or a new entry. Some changes to the SlotIndexes updating should make it possible to eliminate the two cases here. This also isn't as optimized as it could be. In the future Liveinterval should probably get a flag that indicates whether the LiveInterval is within a single basic block. We could ignore all such intervals when splitting an edge. llvm-svn: 174870
* Update SlotIndexes after updateTerminator() possibly removes instructions. I amCameron Zwarich2013-02-111-0/+24
| | | | | | really trying to avoid piping SlotIndexes through to RemoveBranch() and friends. llvm-svn: 174869
* Fix some problems with the updating of SlotIndexes after adding a new MBB. InCameron Zwarich2013-02-111-13/+18
| | | | | | particular, holes were being left between two blocks after splitting an edge. llvm-svn: 174868
* Add support for printing out the attribute groups.Bill Wendling2013-02-114-19/+90
| | | | | | | | | | | | This emits the attribute groups that are used by the functions. (It currently doesn't print out return type or parameter attributes within attribute groups.) Note: The functions still retrieve their attributes from the "old" bitcode format (using the deprecated 'Raw()' method). This means that string attributes within an attribute group will not show up during a disassembly. This will be addressed in a future commit. llvm-svn: 174867
* Update test to not fail with attribute groups.Bill Wendling2013-02-111-2/+2
| | | | llvm-svn: 174866
* FileCheck-ize the tests.Bill Wendling2013-02-116-28/+44
| | | | llvm-svn: 174865
* [tsan/msan] adding thread_safety and uninitialized_checks attributesKostya Serebryany2013-02-1112-3/+42
| | | | llvm-svn: 174864
* Fix formatting of overloaded operator definitions.Daniel Jasper2013-02-113-17/+20
| | | | | | | | | | | | Before: operatorvoid*(); operator vector< A< A>>(); After: operator void *(); operator vector<A<A> >(); llvm-svn: 174863
* Do not use VariadicDynCastAllOfMatcher where VariadicAllOfMatcher works.Manuel Klimek2013-02-111-4/+4
| | | | llvm-svn: 174862
* [sanitizer] Fix line numbers in a sanitizer lit test.Evgeniy Stepanov2013-02-111-5/+5
| | | | llvm-svn: 174861
* Revert "Rename LLVMContext diagnostic handler types and functions."Bob Wilson2013-02-115-49/+39
| | | | | | | | | This reverts my commit 171047. Now that I've removed my misguided attempt to support backend warnings, these diagnostics are only about inline assembly. It would take quite a bit more work to generalize them properly, so I'm just reverting this. llvm-svn: 174860
* BBVectorize: Remove the linear searches from pair connection searchingHal Finkel2013-02-111-24/+11
| | | | | | | | | This removes the last of the linear searches over ranges of std::multimap iterators, giving a 7% speedup on the doduc.bc input from PR15222. No functionality change intended. llvm-svn: 174859
* BBVectorize: Avoid linear searches within the load-move setHal Finkel2013-02-111-20/+30
| | | | | | | | | This is another cleanup aimed at eliminating linear searches in ranges of std::multimap. No functionality change intended. llvm-svn: 174858
* BBVectorize: isa/cast cleanup in getInstructionTypesHal Finkel2013-02-111-4/+4
| | | | | | | | | | Profiling suggests that getInstructionTypes is performance-sensitive, this cleans up some double-casting in that function in favor of using dyn_cast. No functionality change intended. llvm-svn: 174857
* BBVectorize: Make the bookkeeping to support full cycle checking less expensiveHal Finkel2013-02-111-14/+25
| | | | | | | | | | | By itself, this does not have much of an effect, but only because in the default configuration the full cycle checks are used only for small problem sizes. This is part of a general cleanup of uses of iteration over std::multimap ranges only for the purpose of checking membership. No functionality change intended. llvm-svn: 174856
* Currently, codegen may spent some time in SDISel passes even if an entireEvan Cheng2013-02-114-8/+124
| | | | | | | | | | | | | | function is successfully handled by fast-isel. That's because function arguments are *always* handled by SDISel. Introduce FastLowerArguments to allow each target to provide hook to handle formal argument lowering. As a proof-of-concept, add ARMFastIsel::FastLowerArguments to handle functions with 4 or fewer scalar integer (i8, i16, or i32) arguments. It completely eliminates the need for SDISel for trivial functions. rdar://13163905 llvm-svn: 174855
* Remove unnecessary code.Evan Cheng2013-02-111-4/+0
| | | | llvm-svn: 174854
* Fix unnecessary removal of const through cast machineryDavid Blaikie2013-02-114-15/+15
| | | | | | | | I have some uncommitted changes to the cast code that catch this sort of thing at compile-time but I still need to do some other cleanup before I can enable it. llvm-svn: 174853
* Spelling correctionJoel Jones2013-02-101-1/+1
| | | | llvm-svn: 174852
* Fix the unused but nearly correct method SlotIndexes::insertMBBInMaps() and addCameron Zwarich2013-02-102-10/+26
| | | | | | | | support for updating SlotIndexes to MachineBasicBlock::SplitCriticalEdge(). This calls renumberIndexes() every time; it should be improved to only renumber locally. llvm-svn: 174851
* Abstract the liveness checking in PHIElimination::SplitPHIEdges() to supportCameron Zwarich2013-02-101-2/+37
| | | | | | both LiveVariables and LiveIntervals. llvm-svn: 174850
* Add support in the bitcode reader to read the attribute groups.Bill Wendling2013-02-102-0/+82
| | | | | | | | | This reads the attribute groups. It currently doesn't do anything with them. NOTE: In the commit to the bitcode writer, the format *may* change in the near future. Which means that this code would also change. llvm-svn: 174849
* The 'Raw' method cannot handle 'string' attributes. Don't even try.Bill Wendling2013-02-101-0/+4
| | | | llvm-svn: 174848
* Update with attribute group IDs.Bill Wendling2013-02-101-11/+14
| | | | llvm-svn: 174847
* Eat the alignment keyword if we're in an attribute group.Bill Wendling2013-02-101-0/+2
| | | | llvm-svn: 174846
* Add code for emitting the attribute groups.Bill Wendling2013-02-102-8/+61
| | | | | | | | | This is some initial code for emitting the attribute groups into the bitcode. NOTE: This format *may* change! Do not rely upon the attribute groups' bitcode not changing. llvm-svn: 174845
* Add support for attribute groups in the value enumerator.Bill Wendling2013-02-102-0/+24
| | | | | | | Attribute groups are essentially all AttributeSets which are used by the program. Enumerate them here. llvm-svn: 174844
* Formatter: Remove now-unneeded code for formatting ':'s in ObjC method decls.Nico Weber2013-02-101-21/+0
| | | | | | | The more general code for formatting ObjC method exprs does this and more, it's no longer necessary to special-case this. No behavior change. llvm-svn: 174843
* Formatter: Add a test for multi-line ObjC dict literals.Nico Weber2013-02-101-0/+3
| | | | | | | | | | | | | | | | | | | | As it turns out, this already works reasonably well. This example from http://clang.llvm.org/docs/ObjectiveCLiterals.html NSDictionary *dictionary = @{ @"name" : NSUserName(), @"date" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] }; is formatted like NSDictionary *dictionary = @{ @"name" : NSUserName(), @"date" : [NSDate date], @"processInfo" : [NSProcessInfo processInfo] }; There's already a FIXME in NestedStaticInitializers about supporting one initializer per line, which is really all that's missing here too. llvm-svn: 174842
* Formatter: Add another ObjC literal test.Nico Weber2013-02-101-0/+2
| | | | | | (From http://clang.llvm.org/docs/ObjectiveCLiterals.html.) llvm-svn: 174841
* Formatter: Initial support for ObjC dictionary literals.Nico Weber2013-02-102-3/+30
| | | | | | | | | | | | | | | | | | Before: @{ foo: bar } ; Now: @{ foo : bar }; parseBracedList() already does the right thing from an UnwrappedLineParser perspective, so check for "@{" in all loops that process constructs that can contain expressions and call parseBracedList() if found. llvm-svn: 174840
OpenPOWER on IntegriCloud