summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Test Commit - Remove some trailing whitespace in R600Instructions.tdVincent Lejeune2013-02-101-6/+6
| | | | llvm-svn: 174839
* Use -mno-implicit-float by default for kernel/kext code. <rdar://13177960>Bob Wilson2013-02-102-4/+18
| | | | | | | | | | | Apple's kernel engineers have been expecting this behavior even though we've never implemented it before, as far as I can tell. In recent months, clang has gotten better at using vector instructions to optimize memcpy-like operations, and that has exposed problems when vector/floating-point instructions are used in kexts that don't support that. This behavior also matches what Apple's GCC did for PowerPC targets. llvm-svn: 174838
* Delete an extra blank line.Bob Wilson2013-02-101-1/+0
| | | | llvm-svn: 174837
* Recognize -mno-implicit-float option for x86 as well as ARM. <rdar://13180731>Bob Wilson2013-02-102-2/+6
| | | | | | | | | For x86 targets, we've been using the -msoft-float option to control passing the no-implicit-float option to cc1. Since the -mno-implicit-float option is now accepted by the driver, this just makes it work for x86 the same as it does for ARM targets. llvm-svn: 174836
* Use static functions instead of an unnamed namespaceDmitri Gribenko2013-02-101-6/+8
| | | | llvm-svn: 174835
* Handle string attributes in the AttrBuilder.Bill Wendling2013-02-101-1/+5
| | | | llvm-svn: 174834
* Use a 'continue' here to stop from double lexing.Bill Wendling2013-02-101-1/+1
| | | | llvm-svn: 174833
* Add 'empty' query methods to the builder and use them in the verifier.Bill Wendling2013-02-102-1/+5
| | | | llvm-svn: 174832
* Add support for updating LiveIntervals to PHIElimination. If LiveIntervals areCameron Zwarich2013-02-101-29/+142
| | | | | | | | | | | | | | | | | | | present, it currently verifies them with the MachineVerifier, and this passed all of the test cases in 'make check' (when accounting for existing verifier errors). There were some assertion failures in the two-address pass, but they also happened on code without phis and look like they are caused by different kill flags from LiveIntervals. The only part that doesn't work is the critical edge splitting heuristic, because there isn't currently an efficient way to update LiveIntervals after splitting an edge. I'll probably start by implementing the slow fallback and test that it works before tackling the fast path for single-block ranges. The existing code that updates LiveVariables is fairly slow as it is. There isn't a command-line option for enabling this; instead, just edit PHIElimination.cpp to require LiveIntervals. llvm-svn: 174831
* Fix a typo.Cameron Zwarich2013-02-101-1/+1
| | | | llvm-svn: 174830
* Remove ancient references to 'atomic' phis in PHIElimination that don't reallyCameron Zwarich2013-02-101-12/+8
| | | | | | make sense anymore. llvm-svn: 174829
* Make LiveVariables an instance variable of PHIElimination.Cameron Zwarich2013-02-101-11/+9
| | | | llvm-svn: 174828
* ok, ok, stop fighting type punning warnings by just using a union.Chris Lattner2013-02-101-6/+9
| | | | llvm-svn: 174827
* hopefully "really" fix a type punning warning by defining the buffer asChris Lattner2013-02-101-3/+4
| | | | | | type char, which can't have TBAA tags. llvm-svn: 174826
* attempt to defeat a gcc warning that is breaking a -Werror buildbot.Chris Lattner2013-02-101-1/+1
| | | | llvm-svn: 174825
* Add accessor for the LLVMContext.Bill Wendling2013-02-102-0/+7
| | | | llvm-svn: 174824
* Reformat formatter code. No functionality change.Nico Weber2013-02-101-10/+9
| | | | llvm-svn: 174823
* Formatter: Detect ObjC array literals.Nico Weber2013-02-103-6/+19
| | | | | | | | Use this to add a space after "@[" and before "]" for now. Later, I want to use this to format multi-line array literals nicer, too. llvm-svn: 174822
* objective-C: Fixes a bogus warning due to not settingFariborz Jahanian2013-02-105-7/+36
| | | | | | | | the "nonatomic" attribute in property redeclaration in class extension. Also, improved on diagnostics in this area while at it. // rdar://13156292 llvm-svn: 174821
* Remove unneeded "TargetMachine.h" #includes.Jakub Staszak2013-02-096-6/+1
| | | | llvm-svn: 174817
* Formatter: Add test for default arguments.Nico Weber2013-02-091-0/+2
| | | | llvm-svn: 174816
* FileCheck'ize testsDmitri Gribenko2013-02-094-9/+16
| | | | llvm-svn: 174815
* FileCheck'ize a testDmitri Gribenko2013-02-091-1/+2
| | | | llvm-svn: 174814
OpenPOWER on IntegriCloud