summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PR26048, PR26050: put non-type template parameters and indirect field declsRichard Smith2016-01-065-11/+88
| | | | | | | | into IDNS_Tag in C++, because they conflict with redeclarations of tags. (This doesn't affect elaborated-type-specifier lookup, which looks for IDNS_Type in C++). llvm-svn: 256985
* Simplify MipsReginfoInputSection.Rui Ueyama2016-01-065-24/+15
| | | | | | | MipsReginfoInputSection is basically just a container of Elf_Mips_Reginfo struct. This patch makes that struct directly accessible from others. llvm-svn: 256984
* Only instantiate a default argument once.John McCall2016-01-0614-63/+129
| | | | | | | | | | | | | | | | | | | By storing the instantiated expression back in the ParmVarDecl, we remove the last need for separately storing the sub-expression of a CXXDefaultArgExpr. This makes PCH/Modules merging quite simple: CXXDefaultArgExpr records are serialized as references to the ParmVarDecl, and we ignore redundant attempts to overwrite the instantiated expression. This has some extremely marginal impact on user-facing semantics. However, the major effect is that it avoids IRGen errors about conflicting definitions due to lambdas in the argument being instantiated multiple times while sharing the same mangling. It should also slightly improve memory usage and module file size. rdar://23810407 llvm-svn: 256983
* Bitcode: Fix reading and writing of ConstantDataVectors of halfsJustin Bogner2016-01-063-23/+47
| | | | | | | | | | | | In r254991 I allowed ConstantDataVectors to contain elements of HalfTy, but I missed updating the bitcode reader and writer to handle this, so now we crash if we try to emit bitcode on programs that have constant vectors of half. This fixes the issue and adds test coverage for reading and writing constant sequences in bitcode. llvm-svn: 256982
* Add llvm_unreachable to unreachable code.Rui Ueyama2016-01-061-1/+3
| | | | | | The original code was an infinite recursion when the control reaches there. llvm-svn: 256981
* AMDGPU/SI: Fix crash when inline assembly is used in a graphics shaderNicolai Haehnle2016-01-062-0/+14
| | | | | | | | | | | | | | | Summary: This is admittedly something that you could only run into by manually playing around with shader assembly because the SITypeWriter pass is skipped for compute. Reviewers: arsenm, tstellarAMD Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15902 llvm-svn: 256980
* Fix half of PR26048. We don't yet diagnose the case where the anonymous ↵Richard Smith2016-01-065-12/+37
| | | | | | union member is declared first and the tag name is declared second. llvm-svn: 256979
* [Hexagon] Expand -mvN to -mcpu=hexagonvNKrzysztof Parzyszek2016-01-061-4/+4
| | | | llvm-svn: 256978
* [Hexagon] Treat -march and -mcpu as equivalentKrzysztof Parzyszek2016-01-061-7/+2
| | | | llvm-svn: 256977
* Improve conditional checking during template instantiation.Richard Trieu2016-01-062-27/+70
| | | | | | | | | | | | | When the condition in an if statement, while statement, or for loop is created during template instantiation, it calls MakeFullExpr with only the condition expression. However, when these conditions are created for non-templated code in the Parser, an additional SourceLocation is passed to MakeFullExpr. The impact of this was that non-dependent templated code could produce diagnostics that the same code outside templates would not. Adding the missing SourceLocation makes diagnostics consistent between templated and non-templated code. llvm-svn: 256976
* Add -Wfor-loop-analysis to -Wall.Nico Weber2016-01-061-0/+1
| | | | | | | | This warning seems to have 0 false positives and some true positives in practice, without a measurable compile time cost. It should be in -Wall, and possibly even become a default warning at some point. llvm-svn: 256975
* Fix MachO arm64 delta32ToGOT reloc encoding in -r.Pete Cooper2016-01-062-24/+46
| | | | | | | | | | | | | The fixup content we encode here should be the offset from the fixup location back to the last nonlocal label. We were only encoding the address of the fixup, and not taking in to account the base address of the atom we are in. Updated the test case here to have a text section which will come before the data section where the relocation lives. .data being at offset 0 had previously been hiding this bug. llvm-svn: 256974
* [LibCallSimplifier] less indenting; NFCISanjay Patel2016-01-061-52/+51
| | | | llvm-svn: 256973
* [SplitLandingPadPredecessors] Create a PHINode for the original landingpad ↵Chen Li2016-01-062-5/+44
| | | | | | | | | | | | | | only if it has some uses Summary: This patch adds a check in SplitLandingPadPredecessors to see if the original landingpad instruction has any uses. If not, we don't need to create a PHINode for it in the joint block since it's gonna be a dead code anyway. The motivation for this patch is that we found a bug that SplitLandingPadPredecessors created a PHINode of token type landingpad, which failed the verifier since PHINode can not be token type. However, the created PHINode will never be used in our code pattern. This patch will workaround this bug, and we might add supports in SplitLandingPadPredecessors to handle token type landingpad with uses in the future. Reviewers: reames Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D15835 llvm-svn: 256972
* Rename GroupEntryType -> uint32_X.Rui Ueyama2016-01-062-8/+10
| | | | | | | GroupEntryType was a 32-bit integral type but that was not obvious from its name. llvm-svn: 256971
* Remove unnecessary `lld::`.Rui Ueyama2016-01-067-37/+36
| | | | llvm-svn: 256970
* Promote aggregate store to memset when possibleAmaury Sechet2016-01-062-5/+33
| | | | | | | | | | | | Summary: As per title. This will allow the optimizer to pick up on it. Reviewers: craig.topper, spatel, dexonsmith, Prazek, chandlerc, joker.eph, majnemer Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D15923 llvm-svn: 256969
* Remove useless DEBUGAmaury Sechet2016-01-061-1/+0
| | | | llvm-svn: 256968
* [WebAssembly] Add --gc-sections to the link line.Dan Gohman2016-01-062-1/+6
| | | | | | | | This will eventually be accompanied with a change to enable -ffunction-sections and -fdata-sections by default, which is currently delayed by some development process issues. llvm-svn: 256967
* Consolidate MemRefs handling from BranchFolding and correct latent bugPhilip Reames2016-01-062-18/+35
| | | | | | | | | | | | Move the logic from BranchFolding to use the shared infrastructure for merging MMOs introduced in 256909. This has the effect of making BranchFolding more capable. In the process, fix a latent bug. The existing handling for merging didn't handle the case where one of the instructions being merged had overflowed and dropped MemRefs. This was a latent bug in the places the code was commoned from, but potentially reachable in BranchFolding. Once this is in, we're left with a single place to consider implementing MMO unique-ing as proposed in http://reviews.llvm.org/D15230. Differential Revision: http://reviews.llvm.org/D15913 llvm-svn: 256966
* [WinEH] Remove calculateCatchReturnSuccessorColorsDavid Majnemer2016-01-064-28/+9
| | | | | | | | | | | | | | The functionality that calculateCatchReturnSuccessorColors provides was once non-trivial: it was a computation layered on top of funclet coloring. These days, LLVM IR directly encodes what calculateCatchReturnSuccessorColors computed, obsoleting the need for it. No functionality change is intended. llvm-svn: 256965
* [LibCallSimplifier] use instruction-level fast-math-flags for tan/atan transformSanjay Patel2016-01-062-12/+14
| | | | llvm-svn: 256964
* Fix a typo.Adrian Prantl2016-01-061-1/+1
| | | | llvm-svn: 256963
* Module debugging: Defer emitting tag types until their definitionAdrian Prantl2016-01-063-9/+36
| | | | | | | | | was visited and all decls have been merged. We only get a single chance to emit the types for virtual classes because CGDebugInfo::completeRequiredType() categorically doesn't complete them. llvm-svn: 256962
* fixup lldbinline-style tests to clean up Makefiles and *.d filesTodd Fiala2016-01-061-4/+4
| | | | | | | | | The lldbinline inline-test mechanism will create a Makefile if one does not exist in the test directory. This Makefile and its *.d files were not getting cleaned up after a test run, leaving trash in the source tree. llvm-svn: 256961
* Fix -Wdocumentation warning after r256933Nico Weber2016-01-061-1/+1
| | | | llvm-svn: 256960
* [X86] Correctly model TLS calls w.r.t. frame requirements.Quentin Colombet2016-01-063-1/+53
| | | | | | | | | TLS calls need the stack frame to be properly set up and this implies that such calls need ADJUSTSTACK_xxx markers. Fixes PR25820. llvm-svn: 256959
* Make WinCOFFObjectWriter.cpp's timestamp writing not use ENABLE_TIMESTAMPSNico Weber2016-01-065-13/+31
| | | | | | | | | | | | | | | | | | | | | LLVM_ENABLE_TIMESTAMPS controls if timestamps are embedded into llvm's binaries. Turning it off is useful for deterministic builds. r246905 made it so that the define suddenly also controls if the binaries that the llvm binaries _create_ embed timestamps or not – but this shouldn't be a configure-time option. r256203/r256204 added a driver option to toggle this on and off, so this patch now passes this driver option in LLVM_ENABLE_TIMESTAMPS builds so that if LLVM_ENABLE_TIMESTAMPS is set, the build of LLVM is deterministic – but the built clang can still write timestamps into other executables when requested. This also allows removing some of the test machinery added in r292012 to work around this problem. See PR24740 for background. http://reviews.llvm.org/D15783 llvm-svn: 256958
* refactor divrem8 lowering; NFCISanjay Patel2016-01-061-26/+30
| | | | | | | The code duplication contributed to PR25754: https://llvm.org/bugs/show_bug.cgi?id=25754 llvm-svn: 256957
* Bump DiagnosticDriverKinds count; we're close to hitting it.Ahmed Bougacha2016-01-061-1/+1
| | | | | | | | | $ grep '= DIAG_START_DRIVER' include/clang/Basic/DiagnosticIDs.h DIAG_START_FRONTEND = DIAG_START_DRIVER + 100, $ grep 'def ' include/clang/Basic/DiagnosticDriverKinds.td | wc -l 98 llvm-svn: 256956
* [ShrinkWrap] Fix FindIDom to only have one kind of failure.Michael Kuperstein2016-01-062-6/+36
| | | | | | | | | | | | | FindIDom() can fail in two different ways - it can either return nullptr or the block itself, depending on the circumstances. Some users of FindIDom() check one error condition, while others check the other. Change it to always return nullptr on failure. This fixes PR26004. Differential Revision: http://reviews.llvm.org/D15847 llvm-svn: 256955
* Revert r256952 due to lit test fails.Weiming Zhao2016-01-067-52/+9
| | | | llvm-svn: 256954
* [WebAssembly] Don't use range-based loop for a list that's being modifiedDan Gohman2016-01-062-3/+6
| | | | | | | | The first instruction in a block is what the rend() iterator points to, so if it moves, we need to re-evaluate rend() so that we continue to iterate through the rest of the instructions. llvm-svn: 256953
* Filtering IR printing for print-after-all/print-before-allWeiming Zhao2016-01-067-9/+52
| | | | | | | | | | | | | | | Summary: This patch implements "-print-funcs" option to support function filtering for IR printing like -print-after-all, -print-before etc. Examples: -print-after-all -print-funcs=foo,bar Reviewers: mcrosier, joker.eph Subscribers: tejohnson, joker.eph, llvm-commits Differential Revision: http://reviews.llvm.org/D15776 llvm-svn: 256952
* Fix option desc in FunctionAttrs; NFCWeiming Zhao2016-01-061-1/+1
| | | | | | | | | | Summary: The example in desc should match with actual option name Reviewers: jmolloy Differential Revision: http://reviews.llvm.org/D15800 llvm-svn: 256951
* ScheduleDAGInstrs: Bug fix for missed memory dependency.Geoff Berry2016-01-062-3/+34
| | | | | | | | | | | | | | | | | | | | Summary: In buildSchedGraph(), when adding memory dependencies for loads, move the call to adjustChainDeps() after the call to addChainDependency(AliasChain) to handle the case where addChainDependency(AliasChain) ends up not adding a dependency and instead putting the SU on the RejectMemNodes list. The call to adjustChainDeps() must be done after the call to addChainDependency() in order to process the SU added to the RejectMemNodes list to create memory dependencies for it. Reviewers: hfinkel, atrick, jonpa, resistor Subscribers: mcrosier, llvm-commits Differential Revision: http://reviews.llvm.org/D15927 llvm-svn: 256950
* [BasicAA] Extract WriteOnly predicate on parameters [NFC]Philip Reames2016-01-061-5/+25
| | | | | | Since writeonly is the only missing attribute and special case left for the memset/memcpy family of intrinsics, rearrange the code to make that much more clear. llvm-svn: 256949
* WebAssembly: add missing expected failures exposed by r256890JF Bastien2016-01-061-0/+1
| | | | llvm-svn: 256948
* [compiler-rt] Fix empty translation unit warningNathan Slingerland2016-01-061-2/+5
| | | | | | Change to not compile in WindowsMMap.c on anything except WIN32. llvm-svn: 256947
* [WebAssembly] Add -asm-verbose=false to llc tests.Dan Gohman2016-01-061-8/+8
| | | | | | | In general, disabling comments in the output reduces the chances of a CHECK line accidentally matching a comment instead of its intended text. llvm-svn: 256946
* WebAssembly: add new expected failures exposed by r256890JF Bastien2016-01-061-0/+17
| | | | llvm-svn: 256945
* Add DT_DEBUG debugger rendezvous test for r256942Ed Maste2016-01-061-0/+18
| | | | llvm-svn: 256943
* Add debugger rendezvous DT_DEBUG .dynamic entryEd Maste2016-01-0613-56/+64
| | | | | | | | | The runtime linker may store a pointer to a data structure used by debuggers. Differential Revision: http://reviews.llvm.org/D15775 llvm-svn: 256942
* [Renderscript] Fix stack argument inspection.Aidan Dodds2016-01-061-43/+42
| | | | | | | Function arguments that were spilled and passed on the stack were incorrectly read. The value was written back into the output pointer rather then the memory being pointed to. llvm-svn: 256941
* Define buildScheduleRec on RegionNodes and pull out the tree traversal [NFC]Tobias Grosser2016-01-062-64/+51
| | | | | | | | | | | | This change clarifies that for Not-NonAffine-SubRegions we actually iterate over the subnodes and for both NonAffine-SubRegions and BasicBlocks, we perform the schedule construction. As a result, the tree traversal becomes trivial, the special case for a scop consisting just of a single non-affine region disappears and the indentation of the code is reduced. No functional change intended. llvm-svn: 256940
* Show inclusions from a preamble in clang_getInclusions.Erik Verbruggen2016-01-063-26/+83
| | | | | | | | | | | | | | | | When reparsing a translation unit with preamble generation turned on, no includes are found. This is due to the fact that all SLocs from AST/PCH files are skipped as they are 'loaded', and inclusions from a preamble are also 'loaded'. So, in case a file has a preamble, it first needs to process those loaded inclusions, and then check for any local inclusions. This latter one is for any includes that are not part of the preamble, like includes half-way through a file. This fixes PR24748. Differential Revision: http://reviews.llvm.org/D14329 llvm-svn: 256939
* Add unittest for new CanReplace flag on MDNodesTeresa Johnson2016-01-061-0/+14
| | | | | | | | This adds a unittest for the support added in r256648 to add a flag that can be used to prevent RAUW on temporary metadata used as a map key. llvm-svn: 256938
* [Driver] Add support for -fno-builtin-foo options.Chad Rosier2016-01-0619-19/+139
| | | | | | | Addresses PR4941 and rdar://6756912. http://reviews.llvm.org/D15195 llvm-svn: 256937
* [Hexagon] Add system instructions for cache manipulationKrzysztof Parzyszek2016-01-062-0/+115
| | | | llvm-svn: 256936
* Remove XTIMEOUT from TestMultithreaded on linuxPavel Labath2016-01-062-5/+2
| | | | | | instead, mark the test as expected flaky, which will trigger a rerun in case the test hangs. llvm-svn: 256935
OpenPOWER on IntegriCloud