summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [UBSan] Add noinline attribute to handlers that should never return.Alexey Samsonov2014-09-102-15/+48
| | | | | | | | | | | | | FIx a problem reported by Jakub Jelinek: don't do early-exit from fatal UBSan handlers: even if source location is disabled (i.e. acquired by some other thread), we should continue the execution to make sure that: a) some thread will print the error report before calling Die(). b) handler marked as noreturn will indeed not return. Explicitly add "Die()" calls at the end of all fatal handlers to be sure UBSan handlers don't introduce UB themselves. llvm-svn: 217542
* [sphinx cleanup]Dan Liew2014-09-101-1/+1
| | | | | | Fix sphinx warning introduced by r217537 llvm-svn: 217541
* [AArch64] Revert r216141 for cycloneGerolf Hoflehner2014-09-101-1/+1
| | | | | | | | | | The increase of the interleave factor to 4 has side-effects like performance losses eg. due to reminder loops being executed more frequently and may increase code size. It requires more analysis and careful heuristic tuning. Expect double digit gains in small benchmarks like lowercase.c and losses in puzzle.c. llvm-svn: 217540
* [PassManager] Adding Hidden attribute to EnableMLSM optionGerolf Hoflehner2014-09-101-2/+2
| | | | llvm-svn: 217539
* [MergedLoadStoreMotion] Move pass enabling option to PassManagerBuilderGerolf Hoflehner2014-09-102-7/+8
| | | | llvm-svn: 217538
* Fix docs reference to inexistent class.Nico Weber2014-09-101-2/+2
| | | | | | Patch sent via telegraph by TNorthover. Thanks! llvm-svn: 217537
* Remember to eraseFromParent after replaceAllUsesWith.Rafael Espindola2014-09-102-2/+5
| | | | llvm-svn: 217536
* [UBSan] Add halt_on_error runtime flagAlexey Samsonov2014-09-104-10/+13
| | | | llvm-svn: 217535
* MS ABI: Emit dynamic initializers for selectany globals in ↵Hans Wennborg2014-09-102-6/+25
| | | | | | | | | | comdat-associative sections (PR20889) This prevents initializers for comdat-folded globals from running multiple times. Differential Revision: http://reviews.llvm.org/D5281 llvm-svn: 217534
* Cleanup: Use the appropriate API for accessing the DIVariable of aAdrian Prantl2014-09-101-1/+1
| | | | | | DBG_VALUE intrinsic. llvm-svn: 217533
* Remove unused local typedef.Eric Christopher2014-09-101-1/+0
| | | | llvm-svn: 217532
* [AArch64] Temporarily desactivate the PBQP test, while I investigate some ↵Arnaud A. de Grandmaison2014-09-101-14/+0
| | | | | | leaks in the allocator llvm-svn: 217531
* Objective-C arc. Fixes a crash when issuing diagnostic forFariborz Jahanian2014-09-102-1/+25
| | | | | | passing parameter to an audited CF API. rdar://18222007 llvm-svn: 217530
* Make CallingConv::ID an alias of "unsigned".Alexey Samsonov2014-09-103-11/+10
| | | | | | | | | | | | | | | | | | | | Summary: Make CallingConv::ID a plain unsigned instead of enum with a fixed set of valus. LLVM IR allows arbitraty calling conventions (you are free to write cc12345), and loading them as enum is an undefined behavior. This was reported by UBSan. Test Plan: llvm regression test suite Reviewers: nicholas Reviewed By: nicholas Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5248 llvm-svn: 217529
* Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option ↵Sanjay Patel2014-09-1092-147/+147
| | | | | | | | | | | names controlling this variable. "Unroll" is not the appropriate name for this variable. Clang already uses the term "interleave" in pragmas and metadata for this. Differential Revision: http://reviews.llvm.org/D5066 llvm-svn: 217528
* Removed misleading comment.Gerolf Hoflehner2014-09-101-1/+0
| | | | llvm-svn: 217527
* Added missing blankGerolf Hoflehner2014-09-101-1/+1
| | | | llvm-svn: 217526
* Allow to generate a loop without the GuardBBJohannes Doerfert2014-09-104-43/+91
| | | | | | | | | | | | This allows us to omit the GuardBB in front of created loops if we can show the loop trip count is at least one. It also simplifies the dominance relation inside the new created region. A GuardBB (even with a constant branch condition) might trigger false dominance errors during function verification. Differential Revision: http://reviews.llvm.org/D5297 llvm-svn: 217525
* [sphinx cleanup]Dan Liew2014-09-101-1/+1
| | | | | | Fix sphinx warning introduced by r217501. llvm-svn: 217524
* Make compiler-rt tests work with relocatable SDKs on OS XKuba Brecka2014-09-102-0/+43
| | | | | | Reviewed at http://reviews.llvm.org/D4047 llvm-svn: 217523
* Recognize .lib files as linker input explicitlyEhsan Akhgari2014-09-101-0/+1
| | | | | | | | | | | | | | | | Summary: Currently, this is done implicitly in Driver::BuildInputs by considering any invalid input type as linker input. Test Plan: I don't think this behavior is observable for the reason stated above. Reviewers: hansw Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5294 llvm-svn: 217522
* Move FreeBSD's thread SetName implementation to ThisThreadEd Maste2014-09-103-8/+1
| | | | | | | | SetName is only used in LLDB to set a thead's own name. Move it there to match OS X and Windows and slightly reduce the effort in any future HostThread/ThisThread name refactoring. llvm-svn: 217521
* LangRef: @baz should be @bar in the COMDAT exampleHans Wennborg2014-09-101-1/+1
| | | | llvm-svn: 217520
* Add a test for an operator access decl.Nico Weber2014-09-101-1/+7
| | | | | | | | | | In Parser::ParseCXXClassMemberDeclaration(), it was possible to change isAccessDecl = NextToken().is(tok::kw_operator); to isAccessDecl = false; and no tests would fail. Now there's coverage for this. llvm-svn: 217519
* [AArch64] Address Chad's post commit review comments for r217504 (PBQP ↵Arnaud A. de Grandmaison2014-09-101-11/+10
| | | | | | experimental support) llvm-svn: 217518
* typoSanjay Patel2014-09-101-1/+1
| | | | llvm-svn: 217517
* typoSanjay Patel2014-09-101-1/+1
| | | | llvm-svn: 217516
* [analyzer] Fix pthread lock tests so that the API comes from a system header.Jordan Rose2014-09-102-23/+45
| | | | | | | | ...and verify that a global mutex in user code can be used without warnings. Patch by Aleksei Sidorin! llvm-svn: 217515
* Fix comments of createReplaceableForwardDecl() and createForwardDecl().Frederic Riss2014-09-101-4/+3
| | | | | | | | | | | | | Noticed while trying to understand how the merge of forward decalred types and defintions work. Reviewers: echristo, dblaikie, aprantl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5291 llvm-svn: 217514
* Replace a few virtual with override.Rafael Espindola2014-09-101-21/+21
| | | | llvm-svn: 217513
* math: Add tan implementationAaron Watry2014-09-106-0/+21
| | | | | | | | | | | | | | | | | Uses the algorithm: tan(x) = sin(x) / sqrt(1-sin^2(x)) An alternative is: tan(x) = sin(x) / cos(x) Which produces more verbose bitcode and longer assembly. Either way, the generated bitcode seems pretty nasty and a more optimized but still precise-enough solution is welcome. Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 217511
* math: Add asin implementationAaron Watry2014-09-106-0/+16
| | | | | | | | | | | | | | asin(x) = atan2(x, sqrt( 1-x^2 )) alternatively: asin(x) = PI/2 - acos(x) Use the atan2 implementation since it produces slightly shorter bitcode and R600 machine code. Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 217510
* math: Add acos implementationAaron Watry2014-09-106-0/+34
| | | | | | | | | | Passes the tests that were submitted to the piglit list Tested on R600 (Pitcairn) Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 217509
* [Refactor] Cleanup isl code generationJohannes Doerfert2014-09-1011-59/+167
| | | | | | | | | | | | | | | | | | | | Summary: + Refactor the runtime check (RTC) build function + Added helper function to create an PollyIRBuilder + Change the simplify region function to create not only unique entry and exit edges but also enfore that the entry edge is unconditional + Cleaned the IslCodeGeneration runOnScop function: - less post-creation changes of the created IR + Adjusted and added test cases Reviewers: grosser, sebpop, simbuerg, dpeixott Subscribers: llvm-commits, #polly Differential Revision: http://reviews.llvm.org/D5076 llvm-svn: 217508
* Use "const auto &" in range based for loopsTobias Grosser2014-09-101-5/+5
| | | | | | | This previous code added in r216842 most likely created unnecessary copies. Reported-by: Duncan P. N. Exon Smith <dexonsmith@apple.com> llvm-svn: 217507
* No need to check for non-existing std::map elementsTobias Grosser2014-09-101-4/+0
| | | | | | | | | | | | | | | | | | It seems we added guards to check for non-existing std::map elements to make sure they are default constructed before first accessed. Besides, the code being wrong because of checking Context.NonAffineAccesses[BasePointer].size() instead of Context.cound(BasePointer), such a check is also not necessary as std::map takes care of this already. From the std::map documentation: "If k does not match the key of any element in the container, the function inserts a new element with that key and returns a reference to its mapped value. Notice that this always increases the container size by one, even if no mapped value is assigned to the element (the element is constructed using its default constructor)." llvm-svn: 217506
* [AArch64] Pacify lld buildbot complaining about an unused static function in ↵Arnaud A. de Grandmaison2014-09-101-0/+2
| | | | | | release build. llvm-svn: 217505
* [AArch64] Add experimental PBQP supportArnaud A. de Grandmaison2014-09-106-2/+449
| | | | | | | | | | This adds target specific support for using the PBQP register allocator on the AArch64, for the A57 cpu. By default, the PBQP allocator is not used, unless explicitely required on the command line with "-aarch64-pbqp". llvm-svn: 217504
* [AArch 64] Use a constant pool load for weak symbol references whenAsiri Rathnayake2014-09-106-10/+73
| | | | | | | | | | | | | | using static relocation model and small code model. Summary: currently we generate GOT based relocations for weak symbol references regardless of the underlying relocation model. This should be change so that in static relocation model we use a constant pool load instead. Patch from: Keith Walker Reviewers: Renato Golin, Tim Northover llvm-svn: 217503
* Fix FreeBSD build after thread changesEd Maste2014-09-104-7/+8
| | | | | | | More work on the GetName/SetName arguments (thread_t vs tid_t) is needed but this change should restore the build and basic operation. llvm-svn: 217502
* clang-format: Add option to allow short case labels on a single line.Daniel Jasper2014-09-104-6/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | On a single line: switch (a) { case 1: x = 1; return; case 2: x = 2; return; default: break; } Not on a single line: switch (a) { case 1: x = 1; return; case 2: x = 2; return; default: break; } This partly addresses llvm.org/PR16535. In the long run, we probably want to lay these out in columns. llvm-svn: 217501
* Add missing HWEncoding to base register class.Sid Manning2014-09-101-8/+10
| | | | | | | This change gives tblgen the information needed to fill in the HexagonRegEncodingTable. llvm-svn: 217500
* Attempt to pacify buildbots.David Majnemer2014-09-102-12/+8
| | | | llvm-svn: 217499
* ARM: don't size-reduce STMs using the LR register.Tim Northover2014-09-102-1/+21
| | | | | | | | | The only Thumb-1 multi-store capable of using LR is the PUSH instruction, which translates to STMDB, so we shouldn't convert STMIAs. Patch by Sergey Dmitrouk. llvm-svn: 217498
* [PECOFF] Add support for bigobjDavid Majnemer2014-09-101-79/+73
| | | | | | | | | | | | | | lld shouldn't directly use the COFF header nor should it use raw coff_symbols. Instead, query the header properties from the COFFObjectFile and use COFFSymbolRef to abstractly reference COFF symbols. This is just enough to get lld compiling with the changes to llvm::object. Bigobj specific testing will come later. Differential Revision: http://reviews.llvm.org/D5280 llvm-svn: 217497
* Object: Add support for bigobjDavid Majnemer2014-09-1024-315/+631
| | | | | | | | | | | | | | | | | | | | | | This adds support for reading the "bigobj" variant of COFF produced by cl's /bigobj and mingw's -mbig-obj. The most significant difference that bigobj brings is more than 2**16 sections to COFF. bigobj brings a few interesting differences with it: - It doesn't have a Characteristics field in the file header. - It doesn't have a SizeOfOptionalHeader field in the file header (it's only used in executable files). - Auxiliary symbol records have the same width as a symbol table entry. Since symbol table entries are bigger, so are auxiliary symbol records. Write support will come soon. Differential Revision: http://reviews.llvm.org/D5259 llvm-svn: 217496
* CodeGen: Use a fixed alignment for vtables.Benjamin Kramer2014-09-102-0/+20
| | | | | | | | | | | | | | | Pointer-sized alignment is sufficient as we only ever read single values from the table. Otherwise we'd bump the alignment to 16 bytes in the backend if the vtable is larger than 16 bytes. This is great for structures that are accessed with vector instructions or copied around, but that's simply not the case for vtables. Shrinks the data segment of a Release x86_64 clang by 0.3%. The wins are larger for i386 and code bases that use vtables more often than we do. This matches the behavior of GCC 5. llvm-svn: 217495
* [mips] Remove inverted predicates from MipsSubtarget that were only used by ↵Daniel Sanders2014-09-102-14/+15
| | | | | | | | | | | | | | | | MipsCallingConv.td Summary: No functional change Reviewers: echristo, vmedic Reviewed By: echristo, vmedic Subscribers: echristo, llvm-commits Differential Revision: http://reviews.llvm.org/D5266 llvm-svn: 217494
* Moved main() to the clang::tidy namespace, no functional changes.Alexander Kornienko2014-09-101-22/+24
| | | | llvm-svn: 217493
* std::function-ize ClangTidyCheckFactories.Alexander Kornienko2014-09-102-63/+46
| | | | | | | | | | | | Reviewers: djasper Reviewed By: djasper Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D5289 llvm-svn: 217492
OpenPOWER on IntegriCloud