summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Always keep highest identifier, selector, and macro IDs when we'veDouglas Gregor2013-02-081-5/+21
| | | | | | read another one, just as we do for types. llvm-svn: 174745
* Never cache the result of a module file lookup.Douglas Gregor2013-02-083-8/+15
| | | | llvm-svn: 174744
* BBVectorize: Use TTI->getAddressComputationCostHal Finkel2013-02-081-0/+5
| | | | | | | | | | | | | This is a follow-up to the cost-model change in r174713 which splits the cost of a memory operation between the address computation and the actual memory access. In r174713, this cost is always added to the memory operation cost, and so BBVectorize will do the same. Currently, this new cost function is used only by ARM, and I don't have any ARM test cases for BBVectorize. Assistance in generating some good ARM test cases for BBVectorize would be greatly appreciated! llvm-svn: 174743
* More modifications to PowerPC doc linksBill Schmidt2013-02-081-9/+5
| | | | llvm-svn: 174742
* Revert 172027 and 174336. Remove diagnostics about over-aligned stack objects.Bob Wilson2013-02-086-70/+24
| | | | | | | | | | | | Aside from the question of whether we report a warning or an error when we can't satisfy a requested stack object alignment, the current implementation of this is not good. We're not providing any source location in the diagnostics and the current warning is not connected to any warning group so you can't control it. We could improve the source location somewhat, but we can do a much better job if this check is implemented in the front-end, so let's do that instead. <rdar://problem/13127907> llvm-svn: 174741
* Update PowerPC links in CompilerWriterInfo.rstHal Finkel2013-02-081-7/+7
| | | | | | | | | | This updates the current references to links that work for me. In the future, we should update the list of references itself to provide information on newer architecture variants. Thanks to Sean Silva for pointing out that the current links were broken! llvm-svn: 174739
* Adapt test to new clang-format behavior.Manuel Klimek2013-02-081-1/+1
| | | | llvm-svn: 174738
* Fix indentation-detection at indent level 0.Manuel Klimek2013-02-082-3/+8
| | | | | | | | | | | This correctly formats: { a; } where { is incorrectly indented by 2, but is at level 0, when reformatting only 'a;'. llvm-svn: 174737
* Teach BugReporter (extensive diagnostics) to emit a diagnostic when a loop ↵Ted Kremenek2013-02-082-3/+682
| | | | | | | | body is skipped. Fixes <rdar://problem/12322528>. llvm-svn: 174736
* This checkin implements the data formatter for NSURL in C++ codeEnrico Granata2013-02-083-2/+95
| | | | llvm-svn: 174735
* [libclang] Add a test to make sure annotation works fine in the presence ofArgyrios Kyrtzidis2013-02-081-0/+27
| | | | | | | | | | | 'override' on the method. This was fixed in a previous commit, generally handling attributes that are at the end of the declaration. rdar://13140589 llvm-svn: 174734
* Michael van der Westhuizen: Update instructions for building on Linux.Howard Hinnant2013-02-081-0/+75
| | | | llvm-svn: 174733
* Add Michael van der Westhuizen to CREDITS.TXTHoward Hinnant2013-02-081-0/+3
| | | | llvm-svn: 174732
* Michael van der Westhuizen: update to CMake.Howard Hinnant2013-02-081-110/+59
| | | | llvm-svn: 174731
* Remove stale instance variable.Ted Kremenek2013-02-081-1/+0
| | | | llvm-svn: 174730
* objective-C modern translation: Fix another random translation bugFariborz Jahanian2013-02-082-0/+45
| | | | | | | involving property getter expressions on rhs of property setter. // rdar://13138459 llvm-svn: 174729
* [tests] Another batch of timeout increases.Daniel Dunbar2013-02-085-5/+5
| | | | llvm-svn: 174726
* Refine fix to bug 15041.Bill Schmidt2013-02-082-18/+33
| | | | | | | | | Thanks to help from Nadav and Hal, I have a more reasonable (and even correct!) approach. This specifically penalizes the insertelement and extractelement operations for the performance hit that will occur on PowerPC processors. llvm-svn: 174725
* [SimplifyLibCalls] Library call simplification doen't work if the call site Chad Rosier2013-02-082-1/+55
| | | | | | | | isn't using the default calling convention. However, if the transformation is from a call to inline IR, then the calling convention doesn't matter. rdar://13157990 llvm-svn: 174724
* Typos.Jakob Stoklund Olesen2013-02-081-4/+4
| | | | llvm-svn: 174723
* [tests] Add back stdc macros I accidentally refactored out.Daniel Dunbar2013-02-081-0/+1
| | | | | | | | | | | | | | | - Patch by Michael van der Westhuizen: -- r174404 accidentally removed stdc format, limit and constant macros from the Linux test runner logic. This small patch re-adds the macros. Making this change fixes the following tests on Linux: - depr/depr.c.headers/inttypes_h.pass.cpp - depr/depr.c.headers/stdint_h.pass.cpp - input.output/file.streams/c.files/cinttypes.pass.cpp - language.support/cstdint/cstdint.syn/cstdint.pass.cpp -- llvm-svn: 174722
* [tests] Increase a bunch of wait limits.Daniel Dunbar2013-02-0811-12/+12
| | | | | | | | | | - Basically I just ran the thread tests many many times on a busy machine and bumped the timeouts whenever I hit a test failure. - This is obviously subpar, but is the best I can do without the tests being rewritten to not depend on arbitrary timeouts. llvm-svn: 174721
* Takes the context into account when re-indenting regions.Manuel Klimek2013-02-082-25/+113
| | | | | | Fixes llvm.org/PR14916. llvm-svn: 174720
* objective-C modern translator. Fixes a trivialFariborz Jahanian2013-02-082-3/+23
| | | | | | | rewriting bug where #ifdef ended up on the same line as the attribute declaration. llvm-svn: 174719
* Fix handling of fake parenthesis during formatting.Daniel Jasper2013-02-083-2/+7
| | | | | | | | | | | | | | | | | | They are much easier to handle when attached to the previous token. Before: unsigned Indent = formatFirstToken(TheLine.First, IndentForLevel[TheLine.Level] >= 0 ? IndentForLevel[TheLine.Level] : TheLine.Level * 2, TheLine.InPPDirective, PreviousEndOfLineColumn); After: unsigned Indent = formatFirstToken( TheLine.First, IndentForLevel[TheLine.Level] >= 0 ? IndentForLevel[TheLine.Level] : TheLine.Level * 2, TheLine.InPPDirective, PreviousEndOfLineColumn); llvm-svn: 174718
* The patch to fix some issues in r174543 fixed the lines failing the test, ↵David Tweed2013-02-081-3/+3
| | | | | | | | | but missed a couple of lines which weren't being explicitly looked at and were printing incorrect results. These values clearly must lie within 32 bits, so the casts are definitely safe. llvm-svn: 174717
* Implement a tiny expression parser to improve formatting decisions.Daniel Jasper2013-02-084-44/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With this patch, the formatter introduces 'fake' parenthesis according to the operator precedence of binary operators. Before: return aaaa & AAAAAAAAAAAAAAAAAAAAAAAAAAAAA || bbbb & BBBBBBBBBBBBBBBBBBBBBBBBBBBBB || cccc & CCCCCCCCCCCCCCCCCCCCCCCCCC || dddd & DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD; f(aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa); After: return aaaa & AAAAAAAAAAAAAAAAAAAAAAAAAAAAA || bbbb & BBBBBBBBBBBBBBBBBBBBBBBBBBBBB || cccc & CCCCCCCCCCCCCCCCCCCCCCCCCC || dddd & DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD; f(aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa); Future improvements: - Get rid of some of the hacky ways to nicely format certain constructs. - Merge this parser and the AnnotatingParser as we now have several parsers that analyze (), [], etc. llvm-svn: 174714
* ARM cost model: Address computation in vector mem ops not freeArnold Schwaighofer2013-02-089-13/+134
| | | | | | | | | | | | | | | Adds a function to target transform info to query for the cost of address computation. The cost model analysis pass now also queries this interface. The code in LoopVectorize adds the cost of address computation as part of the memory instruction cost calculation. Only there, we know whether the instruction will be scalarized or not. Increase the penality for inserting in to D registers on swift. This becomes necessary because we now always assume that address computation has a cost and three is a closer value to the architecture. radar://13097204 llvm-svn: 174713
* Update tests for DWARF parser: store sources next to pre-built object files ↵Alexey Samsonov2013-02-0819-39/+132
| | | | | | and provide build instructions llvm-svn: 174711
* [asan] Fix off-by-one in AddrIsAtRight.Evgeniy Stepanov2013-02-082-1/+47
| | | | llvm-svn: 174710
* Test CommitMichael Kuperstein2013-02-081-1/+1
| | | | llvm-svn: 174709
* [sanitizer] Fix lint.Evgeniy Stepanov2013-02-081-6/+8
| | | | llvm-svn: 174708
* [ASan] Switch Windows to allocator v2, also fixing some build errorsTimur Iskhodzhanov2013-02-085-6/+11
| | | | llvm-svn: 174707
* [ASan] Move functions using BitScan/clzl to sanitizer_commonTimur Iskhodzhanov2013-02-082-45/+53
| | | | llvm-svn: 174706
* [sanitizer] Add 2 random tests for the scanf implementation.Evgeniy Stepanov2013-02-081-0/+3
| | | | llvm-svn: 174705
* [sanitizer] Improve scanf interceptorEvgeniy Stepanov2013-02-083-140/+261
| | | | | | | | | | | | | | This a rewrite of the scanf parser. The new implementation is pretty close to the spec, with a few shortcuts taken here and there. It is conservative, i.e. it gives up parsing if it does not understand some part of the format string, or runs into an ambiguous % spec. It does not handle some rarely used parts of the spec, like %n$ - for now. I'm also moving parser call to after the original *scanf function completes, so that we can find out the store size of %s directive by the use of strlen() on the target buffer. llvm-svn: 174704
* Avoid unnecessary line breaks in nested ObjC calls.Daniel Jasper2013-02-082-20/+40
| | | | | | | | | | | | Before: [pboard setData:[NSData dataWithBytes:&button length:sizeof(button)] forType:kBookmarkButtonDragType]; After: [pboard setData:[NSData dataWithBytes:&button length:sizeof(button)] forType:kBookmarkButtonDragType]; llvm-svn: 174701
* Improve filechecking of volatile test.Tim Northover2013-02-081-37/+110
| | | | | | | | | | | | My previous attempt was extremely deficient, allowing more volatiles to be introduced and not even checking all of the ones that are present. This attempt doesn't try to keep track of the values stored or offsets within particular objects, just that the correct objects are accessed in a correctly volatile manner throughout. llvm-svn: 174700
* [CMake] set -mmacosx-version-min to 10.7 if compiler-rt is built with ↵Alexey Samsonov2013-02-082-1/+24
| | | | | | -stdlib=libc++ llvm-svn: 174699
* CMake: Include Clang unit tests in check-clang target in standalone builds.Jordan Rose2013-02-082-25/+26
| | | | | | | | | | | | | | | | Also, remove CLANG_BUILD_TESTS option. It won't have consistent behavior between standalone and non-standalone builds, so I'm not going to bother hooking it up for standalone builds. LLVM_BUILD_TESTS will continue to control unit test inclusion in the "all" target in non-standalone builds. Finally, fix the default value of CLANG_INCLUDE_TESTS, which was being set to the boolean value of "LLVM_INCLUDE_TESTS", i.e. OFF, rather than actually reading the variable ${LLVM_INCLUDE_TESTS}! If you picked up my earlier commit, YOU WILL HAVE TO MANUALLY SET THIS OPTION BACK ON. My apologies! Part two of r174691 (allow the unit tests to be built in standalone mode). llvm-svn: 174698
* Parse the attribute group reference on a function.Bill Wendling2013-02-082-8/+94
| | | | | | | | | | | Attribute references are of this form: define void @foo() #0 #1 #2 { ... } Parse them for function attributes. If there's more than one reference, then they are merged together. llvm-svn: 174697
* When Mips16 frames grow large, the immediate field may exceed the maximumReed Kotler2013-02-084-10/+151
| | | | | | | | allowed size for the instruction. This code uses RegScavenger to fix this. We sometimes need 2 registers for Mips16 so we must handle things differently than how register scavenger is normally used. llvm-svn: 174696
* Added the ability to specify a breakpoint using the GDB '*ADDRESS' format:Greg Clayton2013-02-081-1/+2
| | | | | | | | | | | | | | | | | | | | (lldb) b *0x1234 You can still of course just specify an address: (lldb) b 0x1234 Also now we accept the '&' before function names to indicate to not to skip the function prologue like GDB supports. To see how this works: (lldb) settings set interpreter.expand-regex-aliases 1 (lldb) b &main breakpoint set --name 'main' --skip-prologue=0 Breakpoint 1: where = a.out`main at main.c:20, address = 0x0000000100000b60 (lldb) b main breakpoint set --name 'main' Breakpoint 2: where = a.out`main + 54 at main.c:21, address = 0x0000000100000b96 llvm-svn: 174695
* Fix test failure by making sure this file isn't identical to any other fileNick Lewycky2013-02-081-0/+1
| | | | | | | included in the same test. Clang gets confused about whether it's already built a module for this file, when running on a content-addressible filesystem. llvm-svn: 174694
* <rdar://problem/12898191>Enrico Granata2013-02-083-2/+42
| | | | | | | Added a summary for NSMutableAttributedString In the process, converted formatters for other NSString-based classes over to C++ code llvm-svn: 174693
* Revert "Have InstCombine call SipmlifyCall when handling calls. Test case ↵Andrew Trick2013-02-082-20/+2
| | | | | | | | | | included." This reverts commit 3854a5d90fee52af1065edbed34521fff6cdc18d. This causes a clang unit test to hang: vtable-available-externally.cpp. llvm-svn: 174692
* CMake: Optionally allow running the Clang unit tests in standalone builds.Jordan Rose2013-02-081-4/+11
| | | | | | | | | | | | | The reason this is not enabled by default is because there is no way for Clang to guarantee that the LLVM unit testing infrastruture has been built. However, if it /has/ been built, there's no reason why the standalone Clang build can't use it! This should have no effect on existing builds -- in a combined build the value of the CLANG_INCLUDE_TESTS option defaults to the LLVM equivalent, and in a standalone build it defaults to off. llvm-svn: 174691
* Fix conflict between r174685 and r174645 (rename -fmodule-cache-path <foo> ↵Richard Smith2013-02-081-1/+1
| | | | | | to -fmodules-cache-path=<foo>). llvm-svn: 174690
* [libclang] Attribute visitation happens out-of-source-order, make sureArgyrios Kyrtzidis2013-02-083-10/+53
| | | | | | | | | we annotate properly when there is an attribute and not skip type specs if the attribute is after the declaration. rdar://13129077 llvm-svn: 174689
* Use the target address space value when mangling names.Tanya Lattner2013-02-083-1/+10
| | | | llvm-svn: 174688
OpenPOWER on IntegriCloud