summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ADT: Move ilist_node_access to ilist_detail::NodeAccess...Duncan P. N. Exon Smith2016-09-105-29/+60
| | | | | | | | | | | | | | | | | ... and make a few ilist-internal API changes, in preparation for changing how ilist_node is templated. The only effect for ilist users should be changing the friend target from llvm::ilist_node_access to llvm::ilist_detail::NodeAccess (which is only necessary when they inherit privately from ilist_node). - Split out SpecificNodeAccess, which has overloads of getNodePtr and getValuePtr that are untemplated. - Use more typedefs to prevent more changes later. - Force inheritance to use *NodeAccess (to emphasize that ilist *users* shouldn't be doing this). There should be no functionality change here. llvm-svn: 281142
* ADT: Use typedefs for ilist_base and ilist_node_base, NFCDuncan P. N. Exon Smith2016-09-103-42/+48
| | | | | | | This is a prep commit to minimize changes in a follow-up that is adding a template parameter to ilist_node_base and ilist_base. llvm-svn: 281141
* [InstCombine] clean up foldICmpBinOpEqualityWithConstant / ↵Sanjay Patel2016-09-101-59/+56
| | | | | | | | | foldICmpIntrinsicWithConstant ; NFC 1. Rename variables to be consistent with related/preceding code (may want to reorganize). 2. Fix comments/formatting. llvm-svn: 281140
* [InstCombine] rename and reorganize some icmp folding functions; NFCSanjay Patel2016-09-102-24/+23
| | | | | | | | | | Everything under foldICmpInstWithConstant() should now be working for splat vectors via m_APInt matchers. Ie, I've removed all of the FIXMEs that I added while cleaning that section up. Note that not all of the associated FIXMEs in the regression tests are gone though, because some of the tests require earlier folds that are still scalar-only. llvm-svn: 281139
* We also need to pass swifterror in R12 under swiftcc not only under cccArnold Schwaighofer2016-09-102-0/+25
| | | | | | rdar://28190687 llvm-svn: 281138
* [AMDGPU] Refactor MUBUF/MTBUF instructionsValery Pykhtin2016-09-106-1168/+1306
| | | | | | Differential revision: https://reviews.llvm.org/D24295 llvm-svn: 281137
* Add missing test coverage for an inheritance model attrib merge diag.Nico Weber2016-09-101-0/+8
| | | | | | | Without this, no tests fail if I remove the Diag() in the first if in Sema::mergeMSInheritanceAttr(). llvm-svn: 281136
* [gold/LTO] Add test case for r281134Teresa Johnson2016-09-101-0/+10
| | | | | | Add test case that was supposed to go in with r281134. llvm-svn: 281135
* [LTO] Handle null GV in Symbol objectTeresa Johnson2016-09-101-0/+2
| | | | | | | | | Similar to other Symbol methods, have Symbol::getComdat handle a null GV gracefully. Fixes PR30326. llvm-svn: 281134
* [tablegen] Check that an optional IdentifierArgument of an attribute isAkira Hatanaka2016-09-102-1/+13
| | | | | | | | | | | | provided before trying to print it. This fixes a segfault that occurs when function printPretty generated by tablegen tries to print an optional argument of attribute objc_bridge_related. rdar://problem/28155469 llvm-svn: 281132
* [WebAssembly] Fix typos in commentsHeejin Ahn2016-09-101-11/+14
| | | | llvm-svn: 281131
* [libFuzzer] print a failed-merge warning only in the merge modeKostya Serebryany2016-09-101-0/+1
| | | | llvm-svn: 281130
* [ELF] Fix memory leak in BinaryFile handling.Michael J. Spencer2016-09-102-0/+2
| | | | llvm-svn: 281129
* AMDGPU: Implement is{LoadFrom|StoreTo}FrameIndexMatt Arsenault2016-09-106-21/+90
| | | | llvm-svn: 281128
* AMDGPU: Fix scheduling info for spill pseudosMatt Arsenault2016-09-101-2/+3
| | | | | | | These defaulted to Write32Bit. I don't think this actually matters since these don't exist during scheduling. llvm-svn: 281127
* [asan] Add flag to allow lifetime analysis of problematic allocasVitaly Buka2016-09-102-6/+15
| | | | | | | | | | | | | | Summary: Could be useful for comparison when we suspect that alloca was skipped because of this. Reviewers: eugenis Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D24437 llvm-svn: 281126
* [CodeGen] Rename MachineInstr::isInvariantLoad to ↵Justin Lebar2016-09-109-22/+24
| | | | | | | | | | | | | | | | | | | | isDereferenceableInvariantLoad. NFC Summary: I want to separate out the notions of invariance and dereferenceability at the MI level, so that they correspond to the equivalent concepts at the IR level. (Currently an MI load is MI-invariant iff it's IR-invariant and IR-dereferenceable.) First step is renaming this function. Reviewers: chandlerc Subscribers: MatzeB, jfb, llvm-commits Differential Revision: https://reviews.llvm.org/D23370 llvm-svn: 281125
* [libFuzzer] don't print help for internal flags Kostya Serebryany2016-09-102-0/+3
| | | | llvm-svn: 281124
* [libFuzzer] print a visible message if merge fails due to a crash Kostya Serebryany2016-09-103-0/+24
| | | | llvm-svn: 281122
* async structured data packet handling improvementsTodd Fiala2016-09-105-46/+87
| | | | | | | | | | | | | | | | | | | | | | | This change does the following: * Changes the signature for the continuation delegate method that handles async structured data from accepting an already-parsed structured data element to taking just the packet contents. * Moves the conversion of the JSON-async: packet contents from GDBRemoteClientBase to the continuation delegate method. * Adds a new unit test for verifying that the $JSON-asyc: packets get decoded and that the decoded packets get forwarded on to the delegate for further processing. Thanks to Pavel for making that whole section of code easily unit testable! * Tightens up the packet verification on reception of a $JSON-async: packet contents. The code prior to this change is susceptible to a segfault if a packet is carefully crafted that starts with $J but has a total length shorter than the length of "$JSON-async:". Reviewers: labath, clayborg, zturner Differential Revision: https://reviews.llvm.org/D23884 llvm-svn: 281121
* Remove dead code in the SelectionDAG headers (NFC)Vedant Kumar2016-09-102-13/+0
| | | | | | | | | | | I tested this with "ninja check-llvm-codegen" on a Release build with all architectures enabled, and again with a Debug build on x86. Found with llvm-cov. Differential Revision: https://reviews.llvm.org/D24433 llvm-svn: 281120
* Modules: for ObjectiveC try to keep the definition invariant.Manman Ren2016-09-0922-36/+157
| | | | | | | | | | | | When deserializing ObjCInterfaceDecl with definition data, if we already have a definition, try to keep the definition invariant; also pull in the categories even if it is not what getDefinition returns (this effectively combines categories). rdar://27926200 rdar://26708823 llvm-svn: 281119
* [SE] Remove Utils directoryJason Henline2016-09-0911-19/+12
| | | | | | | | | | | | | | | | | | Summary: There is no purpose in splitting out the Error class from the rest of the StreamExecutor code. This organization was just a vestige of an old failed design. Plus, this change fixes a bug in the build where the utilites library was not being statically linked in with libstreamexecutor. Reviewers: jlebar, jprice Subscribers: beanz, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24434 llvm-svn: 281118
* AMDGPU: Fix immediate folding logic when shrinking instructionsMatt Arsenault2016-09-0910-39/+43
| | | | | | | | | | If the literal is being folded into src0, it doesn't matter if it's an SGPR because it's being replaced with the literal. Also fixes initially selecting 32-bit versions of some instructions which also confused commuting. llvm-svn: 281117
* [sanitizer] Add interceptor for ttyname_rKeno Fischer2016-09-093-0/+22
| | | | | | | | | | Reviewers: eugenis Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D24375 llvm-svn: 281116
* Move the contents of test/elf to test/ELFHans Wennborg2016-09-091-0/+0
| | | | | | | | Having two directories with the same name modulo case does not work well on Windows. The new test/elf directory was added in r281108. I assume the intention was to add the test file to the existing test/ELF dir. llvm-svn: 281115
* Inliner: Don't mark swifterror allocas with lifetime markersArnold Schwaighofer2016-09-092-0/+20
| | | | | | | | | This would create a bitcast use which fails the verifier: swifterror values may only be used by loads, stores, and as function arguments. rdar://28233244 llvm-svn: 281114
* X86: Fold tail calls into conditional branches also for 64-bit (PR26302)Hans Wennborg2016-09-096-15/+44
| | | | | | | | | This extends the optimization in r280832 to also work for 64-bit. The only quirk is that we can't do this for 64-bit Windows (yet). Differential Revision: https://reviews.llvm.org/D24423 llvm-svn: 281113
* AMDGPU: Run LoadStoreVectorizer pass by defaultMatt Arsenault2016-09-099-24/+25
| | | | llvm-svn: 281112
* [libFuzzer] use sizeof() in tests instead of 4 and 8Kostya Serebryany2016-09-092-6/+6
| | | | llvm-svn: 281111
* LSV: Fix incorrectly increasing alignmentMatt Arsenault2016-09-092-18/+145
| | | | | | | If the unaligned access has a dynamic offset, it may be odd which would make the adjusted alignment incorrect to use. llvm-svn: 281110
* [gold] Test that we handle invalid directory correctly.Davide Italiano2016-09-092-0/+9
| | | | | | | | | I had this test sitting around for a while but always forgot to commit. Rafael reviewed it a while ago. Differential Revision: https://reviews.llvm.org/D19207 llvm-svn: 281109
* [ELF] Add support for -b binaryMichael J. Spencer2016-09-0911-4/+327
| | | | | | | | | | Implemented by building an ELF file in memory. elf, default, and binary match gold behavior. Differential Revision: https://reviews.llvm.org/D24060 llvm-svn: 281108
* [InstCombine] use m_APInt to allow icmp ult X, C folds for splat constant ↵Sanjay Patel2016-09-095-18/+27
| | | | | | vectors llvm-svn: 281107
* [libFuzzer] one more puzzle for value profileKostya Serebryany2016-09-093-0/+25
| | | | llvm-svn: 281106
* [X86][XOP] Fix VPERMIL2PD mask creation on 32-bit targetsSimon Pilgrim2016-09-092-73/+160
| | | | | | Use getConstVector helper to correctly create v2i64/v4i64 constants on 32-bit targets llvm-svn: 281105
* [Hexagon] Fix disassembler crash after r279255Krzysztof Parzyszek2016-09-092-0/+10
| | | | | | | When p0 was added as an explicit operand to the duplex subinstructions, the disassembler was not updated to reflect this. llvm-svn: 281104
* [sanitizer] fix an allocator bug where the allocated memory may overlap with ↵Kostya Serebryany2016-09-092-4/+22
| | | | | | the free array (kudos to Kostya Korcthinsky). Also make sure that the allocator does not mmap more than requested. Test both. llvm-svn: 281103
* [X86] Regenerate test. NFC.Michael Kuperstein2016-09-091-3/+9
| | | | llvm-svn: 281099
* Add comments.Rui Ueyama2016-09-091-0/+4
| | | | llvm-svn: 281098
* Enable in-tree builds of parallel-libs.Justin Lebar2016-09-091-1/+3
| | | | | | | | | | | | | | Summary: parallel-libs needs its own changes to make this work; these are just the LLVM changes. Reviewers: jhen Subscribers: llvm-commits, beanz, jprice Differential Revision: https://reviews.llvm.org/D24402 llvm-svn: 281097
* Revert "Compact InputSectionData from 64 to 48 bytes. NFC."Rafael Espindola2016-09-092-9/+5
| | | | | | | | | This reverts commit r281084. The link was failing on some bots. No idea why. I will try to reproduce it on Monday. llvm-svn: 281096
* Create phi nodes for swifterror values at the end of the phi instructions listArnold Schwaighofer2016-09-092-1/+20
| | | | | | | | ISel makes assumption about the order of phi nodes. rdar://28190150 llvm-svn: 281095
* Debug info: Bump the default DWARF version on Darwin to 4.Adrian Prantl2016-09-094-8/+15
| | | | | | | This is a spiritual re-commit of r201375 with only a brief delay for upgrading the green dragon builders. llvm-svn: 281094
* [asan] Store access_size in the {Stack,Global}AddressDescription objectsFilipe Cabecinhas2016-09-092-20/+27
| | | | | | | | | | | | | | | Summary: This is important information when we want to describe errors, and should be part of these descriptions. Otherwise, we need to know the access size when printing/emitting the description. Reviewers: kcc, eugenis, vitalybuka Subscribers: llvm-commits, kubabrecka Differential Revision: https://reviews.llvm.org/D24387 llvm-svn: 281093
* [NVPTX] Implement llvm.fabs.f32, llvm.max.f32, etc.Justin Lebar2016-09-094-17/+394
| | | | | | | | | | | | | | | | | | | | Summary: Previously these only worked via NVPTX-specific intrinsics. This change will allow us to convert these target-specific intrinsics into the general LLVM versions, allowing existing LLVM passes to reason about their behavior. It also gets us some minor codegen improvements as-is, from situations where we canonicalize code into one of these llvm intrinsics. Reviewers: majnemer Subscribers: llvm-commits, jholewinski, tra Differential Revision: https://reviews.llvm.org/D24300 llvm-svn: 281092
* [StreamExecutor] Make SE work with an in-tree LLVM build.Justin Lebar2016-09-0912-56/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: With these changes, we can put parallel-libs within llvm/projects and build as normal. This is kind of the minimal change I could figure out how to make while still making us compatible with llvm's build system. Some things I'm not thrilled about include: * The creation of a CoreTests directory (the macros really seemed to want this) * Pulling SimpleHostPlatformDevice.h into CoreTests. It seems to me this should live inside unittests/include, or maybe tests/include, but I didn't want to make that change in this patch. One important piece of work that remains to be done is to make $ ninja check-streamexecutor run all the tests. Right now the only way I've figured out to run the tests is $ ninja projects/parallel-libs/streamexecutor/unittests/StreamExecutorUnitTests $ projects/parallel-libs/streamexecutor/unittests/CoreTests/CoreTests Reviewers: jhen Subscribers: beanz, parallel_libs-commits, jprice Differential Revision: https://reviews.llvm.org/D24368 llvm-svn: 281091
* [asan] Add a new AddressDescription structure, which can describe any type ↵Filipe Cabecinhas2016-09-094-76/+174
| | | | | | | | | | | | | | | | | | | | | | of address. Summary: This is useful for inclusion in the Error* structures, to describe an arbitrary address. Remove the old struct since it's used only once. This removes one level of indirection, and moves all *AddressDescription to be one of the recently introduced structures. This merges differential revisions: D24131 and D24132 Reviewers: kcc, eugenis, vitalybuka Subscribers: kubabrecka, llvm-commits Differential Revision: https://reviews.llvm.org/D24131 llvm-svn: 281090
* [CUDA] Make __GCC_ATOMIC_XXX_LOCK_FREE macros the same on host/device.Justin Lebar2016-09-092-15/+30
| | | | | | | | | | | | | | | | | | | | | Summary: This fixes a bug where we were unable to compile the following CUDA file with libstdc++ (didn't try libc++): #include <future> void foo() { std::shared_future<int> x; } The problem is that <future> only defines std::shared_future if __GCC_ATOMIC_INT_LOCK_FREE > 1. When we compiled this file for device, the macro was set to 1, and then the class didn't exist at all. Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: https://reviews.llvm.org/D24407 llvm-svn: 281089
* ARM: move the builtins libcall CC setupSaleem Abdulrasool2016-09-093-166/+171
| | | | | | | | | Move the target specific setup into the target specific lowering setup. As pointed out by Anton, the initial change was moving this too high up the stack resulting in a violation of the layering (the target generic code path setup target specific bits). Sink this into the ARM specific setup. NFC. llvm-svn: 281088
OpenPOWER on IntegriCloud