summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* R600/SI: Remove unnecessary VALU patternsMatt Arsenault2014-10-161-41/+0
| | | | | | | | These haven't been necessary since allowing selecting SALU instructions in non-entry blocks was enabled. llvm-svn: 219956
* [SROA] Start more deeply moving SROA to use ranges rather than justChandler Carruth2014-10-161-45/+42
| | | | | | | | | | | | iterators. There are a ton of places where it essentially wants ranges rather than just iterators. This is just the first step that adds the core slice range typedefs and uses them in a couple of places. I still have to explicitly construct them because they've not been punched throughout the entire set of code. More range-based cleanups incoming. llvm-svn: 219955
* No longer emit diagnostics about unused results (comparisons, etc) from ↵Aaron Ballman2014-10-164-0/+71
| | | | | | unevaluated contexts. Fixes PR18571. llvm-svn: 219954
* R600: Fix nonsensical implementation of computeKnownBits for BFEMatt Arsenault2014-10-162-5/+16
| | | | | | This was resulting in invalid simplifications of sdiv llvm-svn: 219953
* Update for llvm change.Rafael Espindola2014-10-162-2/+2
| | | | llvm-svn: 219952
* Delete -std-compile-opts.Rafael Espindola2014-10-1618-107/+43
| | | | | | These days -std-compile-opts was just a silly alias for -O3. llvm-svn: 219951
* Allow call-slop optzn for destinations with a suitable dereferenceable attributeBjorn Steinbrink2014-10-162-14/+45
| | | | | | | | | | | | | | | Summary: Currently, call slot optimization requires that if the destination is an argument, the argument has the sret attribute. This is to ensure that the memory access won't trap. In addition to sret, we can also allow the optimization to happen for arguments that have the new dereferenceable attribute, which gives the same guarantee. Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5832 llvm-svn: 219950
* [mach-o] Add support for upward linkingNick Kledzik2014-10-1612-19/+155
| | | | | | | | To deal with cycles in shared library dependencies, the darwin linker supports marking specific link dependencies as "upward". An upward link is when a lower level library links against a higher level library. llvm-svn: 219949
* [PECOFF] Support delay-load import table for x86Rui Ueyama2014-10-169-10/+130
| | | | | | | | | | This patch creates the import address table and sets its address to the delay-load import table. This also creates wrapper functions for __delayLoadHelper2. x86 only for now. llvm-svn: 219948
* Fix lang-ref doc bug: s/icmp lt/icmp slt/Jonathan Roelofs2014-10-161-1/+1
| | | | llvm-svn: 219947
* [asan] make sure coverage is dumped even if leaks are reportedKostya Serebryany2014-10-162-1/+24
| | | | llvm-svn: 219946
* [llvm-objdump] Fix -private-headers for mach-o to print all LC_*_DYLIB variantsNick Kledzik2014-10-161-1/+6
| | | | llvm-svn: 219945
* fold: sqrt(x * x * y) -> fabs(x) * sqrt(y)Sanjay Patel2014-10-163-1/+258
| | | | | | | | | | | | | | | | | | | | | | | | | If a square root call has an FP multiplication argument that can be reassociated, then we can hoist a repeated factor out of the square root call and into a fabs(). In the simplest case, this: y = sqrt(x * x); becomes this: y = fabs(x); This patch relies on an earlier optimization in instcombine or reassociate to put the multiplication tree into a canonical form, so we don't have to search over every permutation of the multiplication tree. Because there are no IR-level FastMathFlags for intrinsics (PR21290), we have to use function-level attributes to do this optimization. This needs to be fixed for both the intrinsics and in the backend. Differential Revision: http://reviews.llvm.org/D5787 llvm-svn: 219944
* DebugInfo: Follow up to r219736, also test/demonstrate that we emit the ↵David Blaikie2014-10-161-2/+4
| | | | | | constant value in this case as well. llvm-svn: 219943
* Fixing comment grammar; NFC.Aaron Ballman2014-10-161-2/+1
| | | | llvm-svn: 219942
* Speculatively fix GCC 4.7 build after r219938Hans Wennborg2014-10-161-1/+1
| | | | llvm-svn: 219941
* Switching to range-based for loops; NFC.Aaron Ballman2014-10-161-10/+5
| | | | llvm-svn: 219940
* Fix code to follow the "Don’t use else after a return" rule.Samuel Benzaquen2014-10-161-7/+8
| | | | | | | | | | | | | | Summary: Fix code to follow the "Don’t use else after a return" rule. This is a followup from rL219792. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D5826 llvm-svn: 219939
* Use iterators and algorithms to possibly make this code a bit tidierDavid Blaikie2014-10-161-16/+12
| | | | | | | | | | | | | (also, the code executed once the element was found was split half inside the loop and half after it - now put it all together after the find operation) I'm a bit concerned that this code is rather untested (commenting out this whole function and running check-clang doesn't fail any tests)... And I wish I had polymorphic lambdas. llvm-svn: 219938
* Remove one of SanitizerBlacklist::isIn() overloads. NFC.Alexey Samsonov2014-10-162-11/+15
| | | | | | | | The final goal is to get rid of all the rest overloads that accept LLVM objects (llvm::Function and llvm::GlobalVariable), and pass in source-level entities instead. llvm-svn: 219937
* Fix MemoryHistory plugin to check whether the pluginJason Molenda2014-10-161-1/+3
| | | | | | | | was able to create itself before returning the shared pointer to it. clang warning. llvm-svn: 219936
* Use array_lengthof; NFC.Hans Wennborg2014-10-161-1/+1
| | | | llvm-svn: 219935
* [AArch64] Fix miscompile of sdiv-by-power-of-2.Juergen Ributzka2014-10-163-5/+17
| | | | | | | | | | | When the constant divisor was larger than 32bits, then the optimized code generated for the AArch64 backend would emit the wrong code, because the shift was defined as a shift of a 32bit constant '(1<<Lg2(divisor))' and we would loose the upper 32bits. This fixes rdar://problem/18678801. llvm-svn: 219934
* [AArch64] Enable A53 erratum workaround (835769) by default for Android targetsBradley Smith2014-10-163-0/+16
| | | | llvm-svn: 219933
* tests: move test to more appropriate locationSaleem Abdulrasool2014-10-161-0/+0
| | | | | | The test is a C++ semantic analysis test, move it to SemaCXX from Sema. NFC. llvm-svn: 219932
* [mips] Account for endianess when expanding BuildPairF64/ExtractElementF64 ↵Vasileios Kalintiris2014-10-162-68/+35
| | | | | | | | | | | | | | | | | | | | nodes. Summary: In order to support big endian targets for the BuildPairF64 nodes we just need to swap the low/high pair registers. Additionally, for the ExtractElementF64 nodes we have to calculate the correct stack offset with respect to the node's register/operand that we want to extract. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5753 llvm-svn: 219931
* OpenCL: Emit global variables in the constant addr space as constant globalsTom Stellard2014-10-167-7/+18
| | | | llvm-svn: 219929
* OpenCL: Add -ffake-address-space-map to a testTom Stellard2014-10-161-2/+2
| | | | | | The ensures there is an explicit address space id in the output. llvm-svn: 219928
* [mips] Marked the DI/EI instruction aliases as MIPS32r2Vasileios Kalintiris2014-10-1612-6/+77
| | | | | | | | | | | | Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5751 llvm-svn: 219927
* [clang-tidy] Minor fixes for the NamespaceCommentCheck.Alexander Kornienko2014-10-162-4/+14
| | | | | | | | * Make SmallVector size enough for all groups. * Allow trailing period in the comment. * Fix "// anonymous namespace qqq". llvm-svn: 219926
* Test commit access: remove extra new line at the end of fileVasileios Kalintiris2014-10-161-1/+0
| | | | llvm-svn: 219925
* UBSAN stable runtime more generic with arm* targetsRenato Golin2014-10-161-1/+1
| | | | llvm-svn: 219924
* [clang-tidy] Default options in modules.Alexander Kornienko2014-10-167-11/+47
| | | | | | | | | | | | | | | | | | | | | | | Summary: This patch allows modules to specify default options for the checks defined in them. This way a sufficiently configurable check can be registered in multiple modules with different default options. E.g. the SpacesBeforeComments option may be set to 1 for the "llvm-namespace-comments" check and to 2 for the "google-readability-namespace-comment" check without modifying or extending the check code. This patch also registers the google-readability-braces-around-statements check with suitable defaults. Reviewers: djasper Reviewed By: djasper Subscribers: curdeius, cfe-commits Differential Revision: http://reviews.llvm.org/D5798 llvm-svn: 219923
* Add missing header guard.Benjamin Kramer2014-10-161-0/+5
| | | | llvm-svn: 219922
* clang-format: Fix behavior with comments before conditional expressionsDaniel Jasper2014-10-162-0/+9
| | | | | | | | | | | | | | | Before: SomeFunction(aaaaaaaaaaaaaaaaa, // comment. ccccccccccccccccc ? aaaaaaaaaaaaaaaaaaaa : bbbbbbbbbbbbbbbbbbbb); After: SomeFunction(aaaaaaaaaaaaaaaaa, // comment. ccccccccccccccccc ? aaaaaaaaaaaaaaaaaaaa : bbbbbbbbbbbbbbbbbbbb); llvm-svn: 219921
* Most of this function checks to see if m_process is non-null beforeJason Molenda2014-10-161-6/+8
| | | | | | | | dereferencing it, except for this one section of code. Add a null check around it. clang static analyzer fix. llvm-svn: 219920
* clang-format: [ObjC] Fix method expression detection.Daniel Jasper2014-10-162-4/+11
| | | | | | | | | | Before: return (a)[foo bar : baz]; After: return (a)[foo bar:baz]; llvm-svn: 219919
* Another logical-or vrs. bitwise-or mixup in ClangUserExpression.Jason Molenda2014-10-161-4/+4
| | | | | | clang unreachable code warning. llvm-svn: 219918
* Enable warnings in the debugserver project file..Jason Molenda2014-10-161-1/+17
| | | | llvm-svn: 219917
* A series of bit-flag values should be bitwise-or'ed not logical-or'ed.Jason Molenda2014-10-161-4/+4
| | | | | | clang unreachable code warning. llvm-svn: 219916
* Remove unreachable code.Jason Molenda2014-10-161-3/+0
| | | | llvm-svn: 219915
* Remove unreachable code.Jason Molenda2014-10-161-3/+0
| | | | llvm-svn: 219914
* Add /* DISABLES CODE */ annotation before if (0) to mark it as intentional.Jason Molenda2014-10-161-1/+1
| | | | llvm-svn: 219913
* Remove unreachable code.Jason Molenda2014-10-161-2/+0
| | | | llvm-svn: 219912
* Remove unreachable code.Jason Molenda2014-10-161-4/+0
| | | | llvm-svn: 219911
* Xcode recommended these changes to the project file. It recommendedJason Molenda2014-10-168-18/+50
| | | | | | | a number of warnings to be enabled. The one making the most noise across the code base right now is CLANG_WARN_UNREACHABLE_CODE = YES. llvm-svn: 219910
* Remove unused initialization.Jason Molenda2014-10-161-1/+1
| | | | | | clang static analyzer fixit. llvm-svn: 219909
* Remove dead store.Jason Molenda2014-10-161-1/+1
| | | | | | clang static analyzer fixit. llvm-svn: 219908
* Remove dead store.Jason Molenda2014-10-161-4/+4
| | | | | | clang static analyzer fixit. llvm-svn: 219907
* Adds stable-runtime to ubsan to avoid broken ARM tests with asanRenato Golin2014-10-162-0/+6
| | | | llvm-svn: 219906
OpenPOWER on IntegriCloud