summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [BDCE] Skip metadata while replacing uses.Davide Italiano2016-12-074-4/+67
| | | | | | | | | | | | The fix committed in r288851 doesn't cover all the cases. In particular, if we have an instruction with side effects which has a no non-dbg use not depending on the bits, we still perform RAUW destroying the dbg.value's first argument. Prevent metadata from being replaced here to avoid the issue. Differential Revision: https://reviews.llvm.org/D27534 llvm-svn: 288987
* [obj2yaml] Refactor and abstract dwarf2yamlChris Bieneman2016-12-074-41/+69
| | | | | | This makes the dwarf2yaml code separated and reusable allowing ELF and COFF to share implementations with MachO. llvm-svn: 288986
* GlobalISel: use correct builder for ConstantExprs.Tim Northover2016-12-073-142/+193
| | | | | | | | ConstantExpr instances were emitting code into the current block rather than the entry block. This meant they didn't necessarily dominate all uses, which is clearly wrong. llvm-svn: 288985
* [ObjectYAML] Pull DWARF support into DWARFYAML namespaceChris Bieneman2016-12-076-100/+160
| | | | | | | | Since DWARF formatting is agnostic to the object file it is stored in, it doesn't make sense for this to be in the MachOYAML implementation. Pulling it into its own namespace means we could modify the ELF and COFF YAML tools to emit DWARF as well. In a follow-up patch I will better abstract this in obj2yaml and yaml2obj so that the DWARF bits in the tools can be re-used too. llvm-svn: 288984
* GlobalISel: store the current MachineFunction as direct state. NFC.Tim Northover2016-12-072-45/+44
| | | | | | | Having to ask the MIRBuilder for the current function is a little awkward, and I'm intending to improve how that's threaded through anyway. llvm-svn: 288983
* Rename MaxPageSize to DefaultMaxPageSize to avoid confusion.Rafael Espindola2016-12-073-5/+5
| | | | | | Thanks to Rui for the suggestion. llvm-svn: 288982
* [ObjectYAML] Rename DWARF entries to match section namesChris Bieneman2016-12-073-6/+6
| | | | | | This change makes the yaml tags for the members of the DWARF data match the names of the DWARF sections. llvm-svn: 288981
* GlobalISel: simplify MachineIRBuilder interface.Tim Northover2016-12-079-64/+98
| | | | | | | | | | | | MachineIRBuilder had weird before/after and beginning/end flags for the insert point. Unfortunately the non-default means that instructions will be inserted in reverse order which is almost never what anyone wants. Really, I think we just want (like IRBuilder has) the ability to insert at any C++ iterator-style point (i.e. before any instruction or before MBB.end()). So this fixes MIRBuilders to behave like IRBuilders in this respect. llvm-svn: 288980
* [libFuzzer] include FuzzerIO.h and hopefully fix the Mac build. reported by ↵Kostya Serebryany2016-12-071-0/+1
| | | | | | Dejan Mircevski llvm-svn: 288979
* InstCombine: Fold bitcast of vector to FP scalarMatt Arsenault2016-12-072-23/+89
| | | | llvm-svn: 288978
* [CMake] Add check for HAVE_CRASHREPORTER_INFOChris Bieneman2016-12-072-1/+9
| | | | | | | | This was also explicitly undef in CMake for some unknown reason. Hopefully this one won't kill all the bots. llvm-svn: 288977
* [RecursiveASTVisitor] Improve post-order traversal unit testMalcolm Parsons2016-12-071-4/+4
| | | | llvm-svn: 288976
* Fix Windows buildbots.Rui Ueyama2016-12-071-1/+1
| | | | llvm-svn: 288975
* Use the correct MaxPageSize.Rafael Espindola2016-12-072-8/+13
| | | | | | | Now Target->MaxPageSize is only used as the default value of Config->MaxPageSize. llvm-svn: 288974
* Do not pass line number to convertToUnixPathSeparator.Rui Ueyama2016-12-072-3/+2
| | | | | | | Line number can never contain '/' or '\', so the previous code was pointless at that point. llvm-svn: 288973
* Make convertToUnixPathSeparator return a new string instead of mutating ↵Rui Ueyama2016-12-073-12/+12
| | | | | | argument. llvm-svn: 288972
* Simplify. NFC.Rafael Espindola2016-12-071-9/+7
| | | | llvm-svn: 288971
* Use the correct MaxPageSize.Rafael Espindola2016-12-072-1/+23
| | | | | | Found by inspection. llvm-svn: 288970
* [change-namespace] always add a '::' prefix when a symbol reference needs to ↵Eric Liu2016-12-073-31/+121
| | | | | | be fully-qualified. llvm-svn: 288969
* [GVNHoist] Invalidate MemDep when an instruction is moved.Eli Friedman2016-12-072-0/+34
| | | | | | | | | | See also r279907. Fixes https://llvm.org/bugs/show_bug.cgi?id=30991 . Differential Revision: https://reviews.llvm.org/D27493 llvm-svn: 288968
* Format. NFC.George Rimar2016-12-071-1/+1
| | | | llvm-svn: 288967
* [ELF] - Print absolute file name in errors when possible.George Rimar2016-12-075-16/+20
| | | | | | | | | | | | | | | | | | | Currently LLD prints basename of source file name in error messages, for example: $ mkdir foo $ echo 'void _start(void) { foobar(); }' > foo/bar.c $ gcc -g -c foo/bar.c $ bin/ld.lld -o out bar.o bin/ld.lld: error: bar.c:1: undefined symbol 'foobar' $ This should say: bin/ld.lld: error: foo/bar.c:1: undefined symbol 'foobar' This is PR31299 Differential revision: https://reviews.llvm.org/D27506 llvm-svn: 288966
* [X86] Skip over DEBUG_VALUE while looking for start of call sequenceMichael Kuperstein2016-12-072-3/+58
| | | | | | | | | | | If we don't skip over DEBUG_VALUEs, we get differences between -g and non-g code. This fixes PR31242. Differential Revision: https://reviews.llvm.org/D27485 llvm-svn: 288965
* [X86] Do not assume "ri" instructions always have an immediate operandMichael Kuperstein2016-12-073-3/+28
| | | | | | | | | | | The second operand of an "ri" instruction may be an immediate, but it may also be a globalvariable, so we should make any assumptions. This fixes PR31271. Differential Revision: https://reviews.llvm.org/D27481 llvm-svn: 288964
* Fix the apple build issue caused by r288956Chris Bieneman2016-12-071-1/+1
| | | | | | Should be checking if HAVE_CRASHREPORTERCLIENT_H is defined not relying on it having a value. llvm-svn: 288963
* [CUDA] Improve target attribute checking for function templates.Artem Belevich2016-12-0710-70/+247
| | | | | | | | | | | | * __host__ __device__ functions are no longer considered to be redeclarations of __host__ or __device__ functions. This prevents unintentional merging of target attributes across them. * Function target attributes are not considered (and must match) during explicit instantiation and specialization of function templates. Differential Revision: https://reviews.llvm.org/D25809 llvm-svn: 288962
* Revert "[CMake] Use cmakedefine01 instead of cmakedefine"Chris Bieneman2016-12-071-1/+1
| | | | | | | | This reverts commit r288959. Apparently using cmakedefine01 explodes. llvm-svn: 288961
* [builtin] Add Thumb1 implementation for idivsi3 and aeabi_idivmodWeiming Zhao2016-12-072-0/+29
| | | | | | | | | | | | | | Summary: For idivsi3, convert the Thumb2 only instruction to thumb1. For aeabi_idivmod, using __divsi3. Reviewers: rengolin, compnerd Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D27472 llvm-svn: 288960
* [CMake] Use cmakedefine01 instead of cmakedefineChris Bieneman2016-12-071-1/+1
| | | | | | Looks like we need a 01 value for HAVE_CRASHREPORTERCLIENT_H. llvm-svn: 288959
* [InstCombine] add tests for smin+icmp; NFCSanjay Patel2016-12-071-0/+357
| | | | | | | | The tests that already work are folded in InstSimplify, so those tests should be redundant and we can remove them if they don't seem worthwhile for completeness. llvm-svn: 288957
* [CMake] Add a check for HAVE_CRASHREPORTERCLIENT_HChris Bieneman2016-12-072-1/+2
| | | | | | The CMake build has been hardcoding this to undef forever, we shouldn't have been doing that. llvm-svn: 288956
* [ObjectYAML] Support for DWARF __debug_abbrev sectionChris Bieneman2016-12-076-3/+571
| | | | | | This patch adds support for round-tripping DWARF debug abbreviations through the obj<->yaml tools. llvm-svn: 288955
* [builtin] for the condition for check __ARM_FEATURE_CLZWeiming Zhao2016-12-071-3/+2
| | | | | | | | | | | | Summary: Since CLZ is not available for Thumb1, we use __ARM_ARCH_ISA_THUMB != 1 as one of the conditions. Reviewers: rnk, compnerd, rengolin Subscribers: aemerson, rengolin, llvm-commits Differential Revision: https://reviews.llvm.org/D27530 llvm-svn: 288954
* [asan] Disable yet another unstable test under AArch64Renato Golin2016-12-071-0/+1
| | | | llvm-svn: 288953
* [SelectionDAG] Add knownbits support for vector demandedelts in ↵Simon Pilgrim2016-12-072-12/+6
| | | | | | SMAX/SMIN/UMAX/UMIN opcodes llvm-svn: 288926
* Add unittests for foreach(Elt|Piece). NFC.Michael Kruse2016-12-071-0/+107
| | | | llvm-svn: 288925
* Add more ISL foreachElt functions. NFC.Michael Kruse2016-12-072-0/+62
| | | | | | | Add and implement foreachElt for isl_map, isl_set and isl_union_set. These are used by an out-of-tree patch which is in process of being upstreamed. llvm-svn: 288924
* [RecursiveASTVisitor] Fix post-order traversal of UnaryOperatorMalcolm Parsons2016-12-072-3/+9
| | | | | | | | | | Reviewers: aaron.ballman, klimek, doug.gregor, teemperor, rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D26742 llvm-svn: 288923
* [analyzer] Fix typo in nullability checker diagnosticDevin Coughlin2016-12-071-1/+1
| | | | | | 'infered' --> 'inferred' llvm-svn: 288922
* ELF/AArch64: Refactor R_AARCH64_LDST{8,15,32,64,128}_ABS_LO12_NC RelocationsAdhemerval Zanella2016-12-071-12/+20
| | | | | | | | | | | | | | This patch refactor how to apply the R_AARCH64_LDST{8,16,32,64,128}_ABS_NC relocations by adding a new function to correct extract the bits expected by each relocation. This make is explicit which are the bits range expected and simplify the code to mask and shift the deriable values. It also fixes the R_AARCH64_LDST128_ABS_LO12_NC mask, although in pratice the mask/shift always returns a 16 bytes aligned value. Checked on AArch64 and with test-suite. llvm-svn: 288921
* [X86] Add knownbits vector UMAX testSimon Pilgrim2016-12-071-0/+31
| | | | | | In preparation for demandedelts support llvm-svn: 288920
* [change-namespace] don't fix using shadow decls in classes.Eric Liu2016-12-072-10/+54
| | | | | | | | | | | | | | Summary: Using shadow declarations in classes always refers to base class, which does not need to be fixed/qualified since it can be inferred from inheritance. Reviewers: bkramer Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D27523 llvm-svn: 288919
* [X86][SSE] Remove AND -> VZEXT combineSimon Pilgrim2016-12-071-92/+0
| | | | | | | | | | This is now performed more generally by the target shuffle combine code. Already covered by tests that were originally added in D7666/rL229480 to support combineVectorZext (or VectorZextCombine as it was known then....). Differential Revision: https://reviews.llvm.org/D27510 llvm-svn: 288918
* [analyzer] Remove an unused enum value in RetainCountChecker.Artem Dergachev2016-12-072-16/+11
| | | | | | | | No functional change intended. Differential Revision: https://reviews.llvm.org/D27408 llvm-svn: 288917
* [SelectionDAG] Add knownbits support for EXTRACT_VECTOR_ELT opcodesSimon Pilgrim2016-12-072-10/+38
| | | | llvm-svn: 288916
* Add IslPtr type traits. NFC.Michael Kruse2016-12-072-1/+5
| | | | | | | | | | Add traits for isl_id and isl_multi_aff, required by out-of-tree patches currently in progress of upstreaming. isl_union_pw_aff_dump has been added to ISL during one of the last ISL updates, such that we can also enable its dump() trait. llvm-svn: 288915
* [analyzer] pr31226: Disable CastSizeChecker in C++ because it's not quite ready.Artem Dergachev2016-12-072-3/+27
| | | | | | | | Avoids a crash and a related false positive. Investigation by Daniel Krupp! llvm-svn: 288914
* [SelectionDAG] Removed old knownbits TODO comment. NFCI.Simon Pilgrim2016-12-071-3/+0
| | | | | | EXTRACT_VECTOR_ELT does support demanded elts if the element index is known and in range. llvm-svn: 288913
* [X86] Add test to show missed opportunities to calculate knownbits in ↵Simon Pilgrim2016-12-071-0/+37
| | | | | | INSERT_VECTOR_ELT llvm-svn: 288912
* [X86][SSE] Fix vpextrd/vpextrq checksSimon Pilgrim2016-12-071-2/+2
| | | | | | They were testing for the pre-vex versions llvm-svn: 288911
OpenPOWER on IntegriCloud