summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [APInt] Add setLowBits/setHighBits methods to APInt.Craig Topper2017-03-073-30/+173
| | | | | | | | | | | | | | | | | | | | | Summary: There are quite a few places in the code base that do something like the following to set the high or low bits in an APInt. KnownZero |= APInt::getHighBitsSet(BitWidth, BitWidth - 1); For BitWidths larger than 64 this creates a short lived APInt with malloced storage. I think it might even call malloc twice. Its better to just provide methods that can set the necessary bits without the temporary APInt. I'll update usages that benefit in a separate patch. Reviewers: majnemer, MatzeB, davide, RKSimon, hans Reviewed By: hans Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30525 llvm-svn: 297111
* Un-XFAIL Fuzzer/test/dump_coverage.test. This now passes on Darwin (after ↵Kuba Mracek2017-03-071-2/+0
| | | | | | r297094). llvm-svn: 297110
* remove Cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCINGBob Wilson2017-03-072-8/+2
| | | | | | | | | | | This is a follow-up to my change in r295090, which added support for disabling these checks selectively based on setting the preprocessor macro without relying on the Cmake setting. Swift has moved over to use that approach, so we can clean up here and remove the Cmake setting. https://reviews.llvm.org/D30578 llvm-svn: 297109
* Remove Config->Rela and define Config->isRela() instead.Rui Ueyama2017-03-075-15/+33
| | | | llvm-svn: 297108
* Remove Config->Mips64EL and define Config->isMips64EL() instead.Rui Ueyama2017-03-078-21/+33
| | | | llvm-svn: 297107
* Define LLVM_ENABLE_WARNINGS when building standalone clang to ensure ↵Eric Fiselier2017-03-071-0/+1
| | | | | | warnings get enabled llvm-svn: 297106
* Fix unused variable in SemaCoroutine.cppEric Fiselier2017-03-071-1/+0
| | | | llvm-svn: 297105
* cleanup.Jason Molenda2017-03-071-42/+42
| | | | llvm-svn: 297104
* [SLP] Revert r296863 due to miscompiles.Michael Kuperstein2017-03-065-152/+83
| | | | | | Details and reproducer are on the email thread for r296863. llvm-svn: 297103
* Add missing include in FileSpec.Zachary Turner2017-03-061-0/+1
| | | | llvm-svn: 297102
* Fix some widespread warnings in headers from the new coroutine codeReid Kleckner2017-03-062-4/+1
| | | | llvm-svn: 297101
* GlobalISel: restrict G_EXTRACT instruction to just one operand.Tim Northover2017-03-0621-115/+151
| | | | | | | A bit more painful than G_INSERT because it was more widely used, but this should simplify the handling of extract operations in most locations. llvm-svn: 297100
* Relax stmtexpr.cpp checks for PPC64Reid Kleckner2017-03-061-5/+5
| | | | llvm-svn: 297099
* Set the Int64Type / IntMaxType types correctly for OpenBSD/mips64Brad Smith2017-03-062-1/+7
| | | | llvm-svn: 297098
* Remove dependency from FileSpec to ArchSpec.Zachary Turner2017-03-063-14/+17
| | | | | | | All it really needs is the llvm::Triple, so make FileSpec take the Triple directly instead of the ArchSpec. llvm-svn: 297096
* Remove FileSpec::ReadFileContents.Zachary Turner2017-03-0620-183/+97
| | | | | | | | | | | | | | | | This functionality is subsumed by DataBufferLLVM, which is also more efficient since it will try to mmap. However, we don't yet support mmaping writable private sections, and in some cases we were using ReadFileContents and then modifying the buffer. To address that I've added a flag to the DataBufferLLVM methods that allow you to map privately, which disables the mmaping path entirely. Eventually we should teach DataBufferLLVM to use mmap with writable private, but that is orthogonal to this effort. Differential Revision: https://reviews.llvm.org/D30622 llvm-svn: 297095
* [libfuzzer] do not use xargs for shell expansionMike Aizatsky2017-03-061-1/+1
| | | | | | | | | Summary: After https://reviews.llvm.org/rL296904 xargs shouldn't be necesssary. Differential Revision: https://reviews.llvm.org/D30371 llvm-svn: 297094
* [coroutines] Add DependentCoawaitExpr and fix re-building CoroutineBodyStmt.Eric Fiselier2017-03-0625-244/+776
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: The changes contained in this patch are: 1. Defines a new AST node `CoawaitDependentExpr` for representing co_await expressions while the promise type is still dependent. 2. Correctly detect and transform the 'co_await' operand to `p.await_transform(<expr>)` when possible. 3. Change the initial/final suspend points to build during the initial parse, so they have the correct operator co_await lookup results. 4. Fix transformation of the CoroutineBodyStmt so that it doesn't re-build the final/initial suspends. @rsmith: This change is a little big, but it's not trivial for me to split it up. Please let me know if you would prefer this submitted as multiple patches. Reviewers: rsmith, GorNishanov Reviewed By: rsmith Subscribers: ABataev, rsmith, mehdi_amini, cfe-commits Differential Revision: https://reviews.llvm.org/D26057 llvm-svn: 297093
* [InstCombine] use dyn_cast instead of isa+cast; NFCISanjay Patel2017-03-061-15/+12
| | | | llvm-svn: 297092
* [ObjectYAML] Support for DW_FORM_implicit_const DWARF5 formChris Bieneman2017-03-065-0/+314
| | | | | | | | This patch adds support to the DWARF YAML reader and writer for the new DWARF5 abbreviation form, DW_FORM_implicit_const. The attribute was added in r291599. llvm-svn: 297091
* [coroutines] Improve diagnostics when building implicit constructs.Eric Fiselier2017-03-063-28/+35
| | | | | | | | | | Previously when a coroutine was building the implicit setup/destroy constructs it would emit diagostics about failures on the first co_await/co_return/co_yield it encountered. This was confusing because that construct may not itself be ill-formed. This patch moves the diagnostics to the function start instead. llvm-svn: 297089
* [GlobalISel] Fix G_FPEXT’s description. NFC.Volkan Keles2017-03-061-1/+1
| | | | llvm-svn: 297088
* Make Discarded a InputSectionBase.Rafael Espindola2017-03-062-6/+3
| | | | | | NFC, just a bit simpler. llvm-svn: 297087
* [DAG] refactor related div/rem folds; NFCISanjay Patel2017-03-061-28/+32
| | | | | | | | | | | This is known incomplete and not called in the right order relative to other folds, but that's the current behavior. I'm just trying to clean this up before making actual functional changes to make the patch smaller. The logic here should mimic the IR equivalents that are in InstSimplify's simplifyDivRem(). llvm-svn: 297086
* [DWARFv5] Update definitions to match published spec.Paul Robinson2017-03-066-39/+90
| | | | | | | | | | | | | Some late additions to DWARF v5 were not in Dwarf.def; also one form was redefined. Add the new cases to relevant switches in different parts of LLVM. Replace DW_FORM_ref_sup with DW_FORM_ref_sup[4,8]. I did not add support for DW_FORM_strx3/addrx3 other that defining the constants. We don't have any infrastructure to support these. Differential Revision: http://reviews.llvm.org/D30664 llvm-svn: 297085
* Don't assume cleanup emission preserves dominance in expr evaluationReid Kleckner2017-03-066-25/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Because of the existence branches out of GNU statement expressions, it is possible that emitting cleanups for a full expression may cause the new insertion point to not be dominated by the result of the inner expression. Consider this example: struct Foo { Foo(); ~Foo(); int x; }; int g(Foo, int); int f(bool cond) { int n = g(Foo(), ({ if (cond) return 0; 42; })); return n; } Before this change, result of the call to 'g' did not dominate its use in the store to 'n'. The early return exit from the statement expression branches to a shared cleanup block, which ends in a switch between the fallthrough destination (the assignment to 'n') or the function exit block. This change solves the problem by spilling and reloading expression evaluation results when any of the active cleanups have branches. I audited the other call sites of enterFullExpression, and they don't appear to keep and Values live across the site of the cleanup, except in ARC code. I wasn't able to create a test case for ARC that exhibits this problem, though. Reviewers: rjmccall, rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D30590 llvm-svn: 297084
* OpenMP version 5.0 addedJonathan Peyton2017-03-0610-12/+2753
| | | | | | | | | | | | Add build option LIBOMP_OMP_VERSION=50, 5.0 headers, and add the year/month associated with OpenMP 5.0 in relevant source locations. Also, remove the deprecated LIBOMP_OMP_VERSION=41 option. Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30450 llvm-svn: 297083
* Mixed type atomic routines added to Windows DLLJonathan Peyton2017-03-062-0/+8
| | | | | | | | Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D30408 llvm-svn: 297082
* [Outliner] Fixed Asan bot failure in r296418Jessica Paquette2017-03-0611-0/+1754
| | | | | | | | Fixed the asan bot failure which led to the last commit of the outliner being reverted. The change is in lib/CodeGen/MachineOutliner.cpp in the SuffixTree's constructor. LeafVector is no longer initialized using reserve but just a standard constructor. llvm-svn: 297081
* [TableGen] Ensure proper ordering of subtarget feature namesKrzysztof Parzyszek2017-03-061-4/+17
| | | | | | | Recommit r297039 without the testcase. The MIR testcase did not work well with MC code emitter. llvm-svn: 297080
* Add list of filesystem NB comments to TODO.TXT so they can be tracked separatelyEric Fiselier2017-03-061-0/+50
| | | | llvm-svn: 297079
* [AArch64][Redundant Copy Elim] Add support for CMN and shifted imm.Chad Rosier2017-03-062-6/+148
| | | | | | | | | | This patch extends the current functionality of the AArch64 redundant copy elimination pass to handle CMN instructions as well as a shifted immediates. Differential Revision: https://reviews.llvm.org/D30576. llvm-svn: 297078
* Detemplate EhInputSection. NFC.Rafael Espindola2017-03-069-42/+55
| | | | llvm-svn: 297077
* [coroutines] Add co_return statement emissionGor Nishanov2017-03-065-7/+94
| | | | | | | | | | | | | | | | | Summary: Added co_return statement emission. Tweaked coro-alloc.cpp test to use co_return to trigger coroutine processing instead of co_await, since this change starts emitting the body of the coroutine and await expression handling has not been upstreamed yet. Reviewers: rsmith, majnemer, EricWF, aaron.ballman Reviewed By: rsmith Subscribers: majnemer, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D29979 llvm-svn: 297076
* Disable gvn-hoist (PR32153)Hans Wennborg2017-03-062-3/+2
| | | | llvm-svn: 297075
* Mark LWG 2806 as complete. Libc++ speculatively shiped this change in 4.0Eric Fiselier2017-03-061-1/+1
| | | | llvm-svn: 297074
* Mark LWG 2789 as complete. No changes requiredEric Fiselier2017-03-061-1/+1
| | | | llvm-svn: 297073
* Verifier: Change Assert to AssertDI.Adrian Prantl2017-03-061-3/+3
| | | | | | | This error can be recovered from by stripping debug info. This is NFC for +asserts builds. llvm-svn: 297072
* Implement LWG 2787 - [file_status.cons] is inconsistentEric Fiselier2017-03-063-5/+7
| | | | llvm-svn: 297071
* Add AArch64 support.Paul Osmialowski2017-03-067-1/+26
| | | | | | | | This adds AArch64 support to recently added part of the runtime responsible for offloading to target. This piece of code allows offloading-to-self on AArch64 machines. Differential Revision: https://reviews.llvm.org/D30644 llvm-svn: 297070
* Mark LWG 2781 as complete. No changes requiredEric Fiselier2017-03-061-1/+1
| | | | llvm-svn: 297069
* [ObjectYAML] NFC. Refactor DWARFYAML CompileUnit dump codeChris Bieneman2017-03-064-122/+324
| | | | | | | | | | | | Summary: This patch refactors the DWARFYAML code for dumping compile units to use a visitor pattern. Using this design will, in the future, enable the DWARF YAML code to perform analysis and mutations of the DWARF DIEs. An example of such mutations would be calculating the length of a compile unit and updating the CU's Length field before writing the DIE. This support will make it easier to craft or modify DWARF tests by hand. Reviewers: lhames Subscribers: mgorny, fhahn, jgosnell, aprantl, llvm-commits Differential Revision: https://reviews.llvm.org/D30357 llvm-svn: 297067
* Mark two any_cast issues as completeEric Fiselier2017-03-061-2/+2
| | | | llvm-svn: 297066
* Updated email address in `CREDITS.txt`.Michael Park2017-03-061-1/+1
| | | | llvm-svn: 297065
* Test commit. Added a blank line.Jessica Paquette2017-03-061-0/+1
| | | | llvm-svn: 297064
* Fix -Werror build error.Evgeniy Stepanov2017-03-061-1/+1
| | | | | | | | tools/lld/ELF/Symbols.cpp:215:13: error: unused variable 'S' [-Werror,-Wunused-variable] if (auto *S = dyn_cast<SharedSymbol>(this) llvm-svn: 297063
* Revert r297039, it's causing some mysterious buildbot failuresKrzysztof Parzyszek2017-03-062-44/+4
| | | | llvm-svn: 297062
* Detemplate merge (input and synthetic) sections. NFC.Rafael Espindola2017-03-069-92/+77
| | | | llvm-svn: 297061
* AMDGPU/R600: Fix ALU clause markers use detectionJan Vesely2017-03-062-4/+7
| | | | | | | | also exit early on kill instead of redefinition. Differential Revision: https://reviews.llvm.org/D30230 llvm-svn: 297060
* Convert two uses of uintX_t. NFC.Rafael Espindola2017-03-062-6/+5
| | | | llvm-svn: 297059
OpenPOWER on IntegriCloud