summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ADT: Guarantee transferNodesFromList is only called on transfersDuncan P. N. Exon Smith2016-08-303-16/+19
| | | | | | | | | | | | Guarantee that ilist_traits<T>::transferNodesFromList is only called when nodes are actually changing lists. I also moved all the callbacks to occur *first*, before the operation. This is the only choice for iplist<T>::merge, so we might as well be consistent. I expect this to have no effect in practice, although it simplifies the logic in both iplist<T>::transfer and iplist<T>::insert. llvm-svn: 280122
* configure.py: Add polaris10 and polaris11Niels Ole Salscheider2016-08-301-2/+2
| | | | llvm-svn: 280121
* Basic/Targets.cpp: Add polaris10 and polaris11 gpusNiels Ole Salscheider2016-08-301-15/+17
| | | | | | Differential Revision: https://reviews.llvm.org/D23746 llvm-svn: 280120
* [Release notes] Fix highlighting.Eugene Zelenko2016-08-301-2/+2
| | | | llvm-svn: 280119
* Fix colored diagnostics from toolsOlivier Goffart2016-08-302-0/+46
| | | | | | | | | | r271042 changed the way the diagnostic arguments are parsed. It assumes that the diagnostics options were already parsed by the "Driver". For tools using clang::Tooling, the diagnostics argument were not parsed. Differential Revision: https://reviews.llvm.org/D23837 llvm-svn: 280118
* Appease buildbots after r280114.Zachary Turner2016-08-301-2/+2
| | | | llvm-svn: 280117
* IR: Appease MSVC after r280107 with an & or twoDuncan P. N. Exon Smith2016-08-301-1/+1
| | | | | | | Fixes the bot: http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/15192 llvm-svn: 280116
* [InstCombine] replace divide-by-constant checks with asserts; NFCSanjay Patel2016-08-302-20/+32
| | | | | | | These folds already have tests for scalar and vector types, except for the vector div-by-0 case, so I'm adding tests for that. llvm-svn: 280115
* Add StringRef::take_front and StringRef::take_backZachary Turner2016-08-304-0/+111
| | | | | | | Reviewed By: majnemer, rnk Differential Revision: https://reviews.llvm.org/D23965 llvm-svn: 280114
* Add StringRef::contains()Zachary Turner2016-08-301-0/+5
| | | | llvm-svn: 280113
* [InstCombine] clean up foldICmpDivConstant; NFCISanjay Patel2016-08-301-16/+20
| | | | | | | | 1. Fix comments to match variable names 2. Remove redundant CmpRHS variable 3. Add FIXME to replace some checks with asserts llvm-svn: 280112
* Start reifying error descriptions (Re-do of D23672 supporting VS2013)Filipe Cabecinhas2016-08-304-12/+134
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: @kcc: I know you've accepted the other revision, but since this is a non-trivial change, I'm updating it to show why D24029 would help. This commit sets up the infrastructure to use reified error descriptions, and moves ReportStackOverflow to the new system. After we convert all the errors, we'll be able to simplify ScopedInErrorReport and remove the older debugging mechanism which had some errors partly reified in some way. We'll be able to maintain the external API. ScopedInErrorReport will be able to track one of the reified errors at a time. The purpose of this is so we have its destructor actually print the error and possibly interface with the debugger (will depend on the platform, of course). Reviewers: kcc, samsonov, timurrrr Subscribers: kcc, llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24030 llvm-svn: 280111
* Split ScarinessScore between its "storage" (POD), and an initializing object.Filipe Cabecinhas2016-08-301-7/+14
| | | | | | | | | | | | | | | Summary: This is needed so we can use it for D23672 on VS2013, since this VS version doesn't support unrestricted unions, and doesn't allow us to uses an object without a trivial default constructor inside a union. Reviewers: kcc, samsonov Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D24029 llvm-svn: 280110
* ADT: Clean up docs and formatting for ilist_traits, NFCDuncan P. N. Exon Smith2016-08-301-34/+33
| | | | | | | | | | | | This is a prep commit before splitting up ilist_node_traits and updating/simplifying call sites. - Move to top of file (I considered moving to a different file, llvm/ADT/ilist_traits.h, but it's really not much code). - Clang-format. - Convert comments to doxygen, clean them up, and add TODOs for what I'm doing next. llvm-svn: 280109
* [CMake] Copy headers relative to LLVM_BINARY_DIRChris Bieneman2016-08-301-5/+7
| | | | | | | | | | | | Summary: This copy phase is only needed for in-tree builds, so we should be copying to the LLVM build directory's include dir instead of the sub-project include dir. Reviewers: bogner, EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D24015 llvm-svn: 280108
* ADT: Split out simple_ilist, a simple intrusive listDuncan P. N. Exon Smith2016-08-309-142/+1018
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split out a new, low-level intrusive list type with clear semantics. Unlike iplist (and ilist), all operations on simple_ilist are intrusive, and simple_ilist never takes ownership of its nodes. This enables an intuitive API that has the right defaults for intrusive lists. - insert() takes references (not pointers!) to nodes (in iplist/ilist, passing a reference will cause the node to be copied). - erase() takes only iterators (like std::list), and does not destroy the nodes. - remove() takes only references and has the same behaviour as erase(). - clear() does not destroy the nodes. - The destructor does not destroy the nodes. - New API {erase,remove,clear}AndDispose() take an extra Disposer functor for callsites that want to call some disposal routine (e.g., std::default_delete). This list is not currently configurable, and has no callbacks. The initial motivation was to fix iplist<>::sort to work correctly (even with callbacks in ilist_traits<>). iplist<> uses simple_ilist<>::sort directly. The new test in unittests/IR/ModuleTest.cpp crashes without this commit. Fixing sort() via a low-level layer provided a good opportunity to: - Unit test the low-level functionality thoroughly. - Modernize the API, largely inspired by other intrusive list implementations. Here's a sketch of a longer-term plan: - Create BumpPtrList<>, a non-intrusive list implemented using simple_ilist<>, and use it for the Token list in lib/Support/YAMLParser.cpp. This will factor out the only real use of createNode(). - Evolve the iplist<> and ilist<> APIs in the direction of simple_ilist<>, making allocation/deallocation explicit at call sites (similar to simple_ilist<>::eraseAndDispose()). - Factor out remaining calls to createNode() and deleteNode() and remove the customization from ilist_traits<>. - Transition uses of iplist<>/ilist<> that don't need callbacks over to simple_ilist<>. llvm-svn: 280107
* XFAIL cfi/stats.cpp on Windows until we fix our DIA usageReid Kleckner2016-08-301-0/+4
| | | | llvm-svn: 280106
* Fixup r279618, instantiate ↵NAKAMURA Takumi2016-08-302-6/+6
| | | | | | | | | | | *AnalysisManagerProxy<*AnalysisManager,LazyCallGraph::SCC>, instead of *AnalysisManagerProxy<*AnalysisManager,LazyCallGraph::SCC,LazyCallGraph&>, for PassID. Or they were not instantiated as expected; llvm::InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Function>, llvm::LazyCallGraph::SCC>::PassID llvm::InnerAnalysisManagerProxy<llvm::AnalysisManager<llvm::Function>, llvm::LazyCallGraph::SCC>::PassID llvm-svn: 280105
* Disable clang/test/SemaTemplate/instantiation-depth-default.cpp temporarily ↵NAKAMURA Takumi2016-08-301-0/+3
| | | | | | for targeting mingw32. It crashes. Investigating. llvm-svn: 280104
* consistently add \n to log and trace messagesEd Maste2016-08-3010-140/+140
| | | | | | | | | | Previously most messages included a newline in the string, but a few of them were missing. Fix these and simplify by just adding the newline in the _LIBUNWIND_LOG macro itself. Differential Revision: https://reviews.llvm.org/D24026 llvm-svn: 280103
* Remove mention of autoconf from the build instructionsTamas Berghammer2016-08-301-37/+0
| | | | | | | | | autoconf+make have been removed from LLVM and LLDB ~6month ago. We shouldn't advertise it on the website as a valid way to build LLDB. Differential revision: https://reviews.llvm.org/D24025 llvm-svn: 280102
* [AMDGPU] Refactor SOP instructions TD files.Valery Pykhtin2016-08-304-914/+1105
| | | | | | Differential revision: https://reviews.llvm.org/D23617 llvm-svn: 280101
* Revert "[ORC][RPC] Make the future type of an Orc RPC call Error/Expected ↵Reid Kleckner2016-08-303-117/+76
| | | | | | | | | | | | | rather than" This reverts commit r280016, and the followups of r280017, r280027, r280051, r280058, and r280059. MSVC's implementation of std::promise does not get along with llvm::Error. It uses its promised value too much like a normal value type. llvm-svn: 280100
* libunwind: fix X86 register numbers for FreeBSD/i386Ed Maste2016-08-301-0/+5
| | | | | | | | | | | | | | | | | | For historical reasons i386 has ebp and esp swapped in the eh_frame register numbering on at least Darwin. That is: Darwin FreeBSD Reg # eh_frame eh_frame DWARF ===== ======== ======== ===== 4 ebp esp esp 5 esp ebp ebp Although the UNW_X86_* constants are not intended to be coupled with DWARF / eh_frame numbering they are currently conflated in libunwind. Differential Revision: https://reviews.llvm.org/D22508 llvm-svn: 280099
* [libFuzzer] fix a bug when running a single unit of N bytes with -max_len=M, ↵Kostya Serebryany2016-08-302-6/+7
| | | | | | M<N, caused a buffer overflow llvm-svn: 280098
* [OpenCL] Make is_valid_event, create_user_event overloadable.Alexey Bader2016-08-301-2/+2
| | | | | | | | | | | | | | Summary: Make is_valid_event and create_user_event overloadable like other built-ins. Patch by Evgeniy Tyurin. Reviewers: bader, yaxunl Subscribers: Anastasia, cfe-commits Differential Revision: https://reviews.llvm.org/D23914 llvm-svn: 280097
* [libFuzzer] stop using bits for memcmp's value profile -- seems to blow up ↵Kostya Serebryany2016-08-302-9/+9
| | | | | | the corpus too much llvm-svn: 280096
* [clang-tidy docs] Fix build errors on Sphinx 1.4.6Haojian Wu2016-08-302-4/+4
| | | | llvm-svn: 280095
* Fix typo in commentNico Weber2016-08-301-1/+1
| | | | llvm-svn: 280094
* [Hexagon] Use handleTargetFeaturesGroup to process target-specific featuresKrzysztof Parzyszek2016-08-302-32/+33
| | | | llvm-svn: 280093
* [MC] Move parser helper functions from Asmparser to MCAsmParserNirav Dave2016-08-304-66/+83
| | | | | | NFC Intended. llvm-svn: 280092
* Revert r280035 (and followups r280057, r280085), it caused PR30195Nico Weber2016-08-3011-112/+22
| | | | llvm-svn: 280091
* [Reassociate] Add additional debug output. NFC.Chad Rosier2016-08-301-0/+2
| | | | llvm-svn: 280090
* Handle -mlong-calls on HexagonKrzysztof Parzyszek2016-08-304-6/+32
| | | | | | Differential Revision:://reviews.llvm.org/D22766 llvm-svn: 280089
* Revert "gdb-remote: Make the sequence mutex non-recursive"Pavel Labath2016-08-308-164/+101
| | | | | | This reverts commit r279725 as it breaks "dynamic register size" feature of mips. llvm-svn: 280088
* Fix darwin cmake build for r279997Pavel Labath2016-08-301-1/+1
| | | | llvm-svn: 280087
* libunwind: correct 'libuwind' typoEd Maste2016-08-307-10/+10
| | | | | | | There were several instances of libuwind (missing an "n"), dating to the initial import of libunwind. llvm-svn: 280086
* clang/test/Driver/modules-ts.cpp: Satisfy quoted filename.NAKAMURA Takumi2016-08-301-1/+1
| | | | | | | | On win32, backslashed filename is emitted like; -o "C:\\bb-win\\ninja-clang-i686-msc19-R\\build\\tools\\clang\\test\\Driver\\Output\\modules-ts.cpp.tmp.o" llvm-svn: 280085
* [mips][tsan] XFAIL on every MIPS platform an x86_64-specific test.Vasileios Kalintiris2016-08-301-1/+1
| | | | | | | The map32bit.cc test uses the MMAP_32BIT flag which is supported only on x86-64. llvm-svn: 280084
* Add forgotten imageTobias Grosser2016-08-301-0/+0
| | | | llvm-svn: 280083
* www: homepage "Overview and News"Tobias Grosser2016-08-301-1/+1
| | | | llvm-svn: 280082
* www: shorten links in menuTobias Grosser2016-08-301-10/+3
| | | | llvm-svn: 280081
* www: link to github source mirror, drop the other old source viewersTobias Grosser2016-08-301-3/+1
| | | | llvm-svn: 280080
* www: improve formatting of external linksTobias Grosser2016-08-301-3/+8
| | | | llvm-svn: 280079
* clang-tools-extra/test/clang-tidy/misc-move-forwarding-reference.cpp: ↵NAKAMURA Takumi2016-08-301-1/+1
| | | | | | Appease ms targets with -fno-delayed-template-parsing. llvm-svn: 280078
* [clang-tidy] Add check 'misc-move-forwarding-reference'Martin Bohme2016-08-308-0/+379
| | | | | | | | | | | | | | | | | | | | | | | Summary: The check emits a warning if std::move() is applied to a forwarding reference, i.e. an rvalue reference of a function template argument type. If a developer is unaware of the special rules for template argument deduction on forwarding references, it will seem reasonable to apply std::move() to the forwarding reference, in the same way that this would be done for a "normal" rvalue reference. This has a consequence that is usually unwanted and possibly surprising: If the function that takes the forwarding reference as its parameter is called with an lvalue, that lvalue will be moved from (and hence placed into an indeterminate state) even though no std::move() was applied to the lvalue at the callsite. As a fix, the check will suggest replacing the std::move() with a std::forward(). This patch requires D23004 to be submitted before it. Reviewers: sbenza, aaron.ballman Subscribers: klimek, etienneb, alexfh, aaron.ballman, Prazek, Eugene.Zelenko, mgehre, cfe-commits Projects: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D22220 llvm-svn: 280077
* www: Add links to Polly Labs and Polyhedral.infoTobias Grosser2016-08-301-0/+6
| | | | llvm-svn: 280076
* SILoadStoreOptimizer.cpp: Fix a warning in r279991. [-Wunused-variable]NAKAMURA Takumi2016-08-301-0/+1
| | | | llvm-svn: 280075
* Fix fallout from the GetNameColonValue() refactor (r280000)Pavel Labath2016-08-302-8/+12
| | | | | | This fixes the linux test suite. llvm-svn: 280074
* [SimplifyCFG] Properly CSE metadata in SinkThenElseCodeToEndJames Molloy2016-08-302-0/+42
| | | | | | This was missing, meaning the metadata in sunk instructions was potentially bogus and could cause miscompiles. llvm-svn: 280072
OpenPOWER on IntegriCloud