summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Sema] Don't assume CallExpr::getDirectCallee will succeedDavid Majnemer2015-08-262-1/+8
| | | | | | | | | | We tried to provide a very nice diagnostic when diagnosing an assignment to a const int & produced by a function call. However, we cannot always determine what function was called. This fixes PR24568. llvm-svn: 246014
* [dsymutil] Emit real dSYM companion binaries.Frederic Riss2015-08-265-3/+775
| | | | | | | | | | | | | | | | | | | The binaries containing the linked DWARF generated by dsymutil are not standard relocatable object files like emitted did previsously. They should be dSYM companion files, which means they have a different file type in the header, but also a couple other peculiarities: - they contain the segments and sections from the original binary in their load commands, but not the actual contents. This means they get an address and a size, but their offset is always 0 (but these are not virtual sections) - they also conatin all the defined symbols from the original binary This makes MC a really bad fit to emit these kind of binaries. The approach that was used in this patch is to leverage MC's section layout for the debug sections, but to use a replacement for MachObjectWriter that lives in MachOUtils.cpp. Some of the low-level helpers from MachObjectWriter were reused too. llvm-svn: 246012
* [dsymutil] Store an optional BinaryPath in the debug map.Frederic Riss2015-08-265-2/+14
| | | | | | | | | llvm-dsymutil needs to emit dSYM companion bundles. These are binary files that replicate some of the orignal binary file properties (sections and symbols). To get acces to these properties, pass the binary path in the debug map. llvm-svn: 246011
* [dsymutil] Make the warn and error helpers globally available. NFC.Frederic Riss2015-08-262-11/+14
| | | | llvm-svn: 246010
* [dsymutil] Split NonRelocatableStringPool into its own file. NFC.Frederic Riss2015-08-262-86/+103
| | | | llvm-svn: 246009
* [MC] Split the layout part of MCAssembler::finish() into its own method. NFC.Frederic Riss2015-08-262-6/+12
| | | | | | | | | | Split a MCAssembler::layout() method out of MCAssembler::finish(). This allows running the MCSections layout separately from the streaming of the output file. This way if a client wants to use MC to generate section contents, but emit something different than the standard relocatable object files it is possible (llvm-dsymutil is such a client). llvm-svn: 246008
* [MC/MachO] Make some MachObjectWriter methods more generic. NFC.Frederic Riss2015-08-262-31/+38
| | | | | | | Hardcode less values in some mach-o header writing routines and pass them as argument. Doing so will allow reusing this code in llvm-dsymutil. llvm-svn: 246007
* Update file comment to more accurately describe what's implemented.Eric Christopher2015-08-261-1/+1
| | | | llvm-svn: 246006
* Modify DeclaratorChuck::getFunction to be passed an Exception Specification ↵Nathan Wilson2015-08-269-17/+54
| | | | | | | | | | | | | | | | | SourceRange Summary: - Store the exception specification range's begin and end SourceLocation in DeclaratorChuck::FunctionTypeInfo. These SourceLocations can be used in a FixItHint Range. - Add diagnostic; function concept having an exception specification. Reviewers: hubert.reinterpretcast, fraggamuffin, faisalv, aaron.ballman, rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D11789 llvm-svn: 246005
* In SendContinuePacketAndWaitForResponse there is a special bit ofJason Molenda2015-08-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | code that looks for a second stop-reply packet in response to an interrupt (control-c). This is to handle the case where where a stop packet is making its way up to lldb right as lldb decides to interrupt the inferior. If the inferior is running and we interrupt it, we'd expect a T11 type response meaning that the inferior halted because of the interrupt. But if the interrupt gets a T05 type response instead, meaning that we stopped execution by hitting a breakpoint or whatever, then the interrupt was received while the inferior was already paused and so it is treated as a "?" packet -- the remote stub will send the stop message a second time. There's a timeout where we wait to get this second stop reply packet in SendContinuePacketAndWaitForResponse, currently 1ms. For a slow remote target, it may take longer than that to send the second stop reply packet. If that happens, then lldb will use that second stop reply packet as the response for the next packet request it makes to the remote stub. The two will be out of sync by one packet for the rest of the debug session and it's going to go badly from then on. I've seen times as slow as 46ms, and given the severity of missing that second stop reply packet, I'm increasing the timeout to 100ms, or 0.1sec. <rdar://problem/21990791> llvm-svn: 246004
* Add missing newline.Ted Kremenek2015-08-261-1/+1
| | | | llvm-svn: 246003
* Big Kaleidoscope tutorial update.Lang Hames2015-08-2615-1252/+1143
| | | | | | | | | | | | | This commit switches the underlying JIT for the Kaleidoscope tutorials from MCJIT to a custom ORC-based JIT, KaleidoscopeJIT. This fixes a lot of the bugs in Kaleidoscope that were introduced when we deleted the legacy JIT. The documentation for Chapter 4, which introduces the JIT APIs, is updated to reflect the change. Also included are a number of C++11 modernizations and general cleanup. Where appropriate, the docs have been updated to reflect these changes too. llvm-svn: 246002
* Comparing operands should not require the same ValueIDJF Bastien2015-08-266-5/+108
| | | | | | | | | | | | | Summary: When comparing basic blocks, there is an additional check that two Value*'s should have the same ID, which interferes with merging equivalent constants of different kinds (such as a ConstantInt and a ConstantPointerNull in the included testcase). The cmpValues function already ensures that the two values in each function are the same, so removing this check should not cause incorrect merging. Also, the type comparison is redundant, based on reviewing the code and testing on the test suite and several large LTO bitcodes. Author: jrkoenig Reviewers: nlewycky, jfb, dschuff Subscribers: llvm-commits Differential revision: http://reviews.llvm.org/D12302 llvm-svn: 246001
* COFF: Attempt to unbreak buildbots.Rui Ueyama2015-08-261-2/+2
| | | | | | This is an attempt to unbreak http://reviews.llvm.org/P122. llvm-svn: 246000
* Expose more properties of llvm::fltSemanticsJF Bastien2015-08-262-0/+18
| | | | | | | | | | | Summary: Adds accessor functions for all the fields in llvm::fltSemantics. This will be used in MergeFunctions to order two APFloats with different semanatics. Author: jrkoenig Reviewers: jfb Subscribers: dschuff, llvm-commits Differential revision: http://reviews.llvm.org/D12253 llvm-svn: 245999
* FastISel: Use finishCondBranch() for ARM,Mips,PowerPC FastISelMatthias Braun2015-08-263-10/+5
| | | | | | Note that after this change branch probabilities are preserved now. llvm-svn: 245998
* FastISel: Factor out common code; NFC intendedMatthias Braun2015-08-264-69/+27
| | | | | | | | | This should be no functional change but for the record: For three cases in X86FastISel this will change the order in which the FalseMBB and TrueMBB of a conditional branch is addedd to the successor/predecessor lists. llvm-svn: 245997
* WebAssembly: add small FIXME for AsmPrinter.JF Bastien2015-08-261-0/+1
| | | | | | Suggested by @sunfish as a follow-up to r245982. llvm-svn: 245996
* Refactor to reduce duplication in OnDiskIterableChainedHashTable's iterators.Richard Smith2015-08-261-88/+85
| | | | llvm-svn: 245995
* [compiler-rt] Add common interceptor for wcrtomb. Eric Fiselier2015-08-263-1/+36
| | | | | | | | | | | | Summary: Currently there is a libc++ test failing under MSAN because wcrtomb is not intercepted. This patch adds an interceptor for it. Reviewers: samsonov, eugenis Subscribers: tberghammer, danalbert, srhines, llvm-commits Differential Revision: http://reviews.llvm.org/D12311 llvm-svn: 245994
* Rename all functionalities/data-formatter test case with radar bug numbers ↵Enrico Granata2015-08-2543-128/+11
| | | | | | in them to more meaningful names llvm-svn: 245993
* [Headers] Require x86-registered for r245987 codegen tests.Ahmed Bougacha2015-08-251-0/+2
| | | | llvm-svn: 245992
* [dsymutil] actually fix test.Frederic Riss2015-08-251-2/+1
| | | | | | Not all machines have lipo installed. Do not try to invoke it. llvm-svn: 245991
* Make variable argument intrinsics behave correctly in a Win64 CC function.Charles Davis2015-08-256-58/+191
| | | | | | | | | | | | | | | | Summary: This change makes the variable argument intrinsics, `llvm.va_start` and `llvm.va_copy`, and the `va_arg` instruction behave as they do on Windows inside a `CallingConv::X86_64_Win64` function. It's needed for a Clang patch I have to add support for GCC's `__builtin_ms_va_list` constructs. Reviewers: nadav, asl, eugenis CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1622 llvm-svn: 245990
* WebAssembly: assert that there aren't any constant poolsJF Bastien2015-08-251-0/+7
| | | | | | WebAssembly will either use globals or immediates, since it's a virtual ISA. llvm-svn: 245989
* [dsymutil] Reapply r245960.Frederic Riss2015-08-256-2/+36
| | | | | | | | | | | | | | | | | | There was an issue in the test setup because the test requires an arch that wasn't filtered by the lit.local.cfg, but given the set of bots that failed, I'm not confident this is the (only) issue. So this commit also adds more output to the test to help me track down the failure if it happens again. Original commit message: [dsymutil] Rewrite thumb triple names in user visible messages. We autodetect triples from the input file(s) while reading the mach-o debug map. As we need to create a Target from those triples, we always chose the thumb variant (because the arm variant might not be 'instantiable' eg armv7m). The user visible architecture names should still be 'arm' and not 'thumb' variants though. llvm-svn: 245988
* [Headers][X86] Add -O0 assembly tests for avx2 intrinsics.Ahmed Bougacha2015-08-251-0/+229
| | | | | | | | | | | | We agreed for r245605 that, as long as we don't affect -O0 codegen too much, it's OK to use native constructs rather than intrinsics. Let's test that, starting with AVX2 here. See PR24580. Differential Revision: http://reviews.llvm.org/D12212 llvm-svn: 245987
* WebAssembly: emit `(func (param t) (result t))` s-expressionsJF Bastien2015-08-2518-148/+329
| | | | | | | | | | | | Summary: Match spec format: https://github.com/WebAssembly/spec/blob/master/ml-proto/test/fac.wasm Reviewers: sunfish Subscribers: llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D12307 llvm-svn: 245986
* Make sure that we evaluate __attribute__((enable_if)) on a method with no ↵Nick Lewycky2015-08-252-1/+71
| | | | | | overloads. Patch by Ettore Speziale! llvm-svn: 245985
* XFAIL TestQuoting on Windows.Zachary Turner2015-08-251-9/+8
| | | | | | | | A couple of edge cases are broken with regards to quote handling. Fixing this is tracked by http://llvm.org/pr24557 llvm-svn: 245984
* Fix a bunch of portability issues in test executables.Zachary Turner2015-08-2515-35/+46
| | | | llvm-svn: 245983
* WebAssembly: comment out .globl when printing textual assemblyJF Bastien2015-08-252-1/+18
| | | | | | Do the same for .weak (not implemented for now, but may as well to it). Update comment string to two semicolons. llvm-svn: 245982
* [msan] Regression test for PR24561.Evgeniy Stepanov2015-08-251-0/+20
| | | | | | Fixed in r245980. llvm-svn: 245981
* [msan] Precise instrumentation for icmp sgt %x, -1.Evgeniy Stepanov2015-08-252-25/+96
| | | | | | | | | | Extend signed relational comparison instrumentation with a special case for comparisons with -1. This fixes an MSan false positive when such comparison is used as a sign bit test. https://llvm.org/bugs/show_bug.cgi?id=24561 llvm-svn: 245980
* Clarify the error message when the reason the conversion is not viable is ↵Nick Lewycky2015-08-256-5/+7
| | | | | | because the returned value does not match the function return type. llvm-svn: 245979
* [MC] Add a SetUsed default param to MCSymbol accessors (NFC)Vedant Kumar2015-08-251-12/+18
| | | | | | Reviewed by: rafael llvm-svn: 245978
* MachineBasicBlock: Use MCPhysReg instead of unsigned in livein APIMatthias Braun2015-08-252-11/+12
| | | | | | | This is friendlier to the readers as it makes it clear that the API is not meant for vregs but just for physregs. llvm-svn: 245977
* Remove the final bit test during lowering switch statement if all cases in ↵Cong Hou2015-08-254-25/+116
| | | | | | | | | | bit test cover a contiguous range. When lowering switch statement, if bit tests are used then LLVM will always generates a jump to the default statement in the last bit test. However, this is not necessary when all cases in bit tests cover a contiguous range. This is because when generating the bit tests header MBB, there is a range check that guarantees cases in bit tests won't go outside of [low, high], where low and high are minimum and maximum case values in the bit tests. This patch checks if this is the case and then doesn't emit jump to default statement and hence saves a bit test and a branch. Differential Revision: http://reviews.llvm.org/D12249 llvm-svn: 245976
* [X86] Remove unnecessary MMX declarations from Intrin.hSimon Pilgrim2015-08-252-3/+10
| | | | | | | | | | | | As discussed in PR23648 - the intrinsics _m_from_int, _m_to_int and _m_prefetch are defined in mmintrin.h and prfchwintrin.h so we don't need to in Intrin.h Added tests for _m_from_int and _m_to_int D11338 already added a test for _m_prefetch Differential Revision: http://reviews.llvm.org/D12272 llvm-svn: 245975
* Use CHECK-LABEL in MSan IR tests.Evgeniy Stepanov2015-08-258-70/+70
| | | | | | | This actually found one case when a test was matching instructions from the output of a different test. llvm-svn: 245974
* [CMake] fixing a typo that is breaking bots.Chris Bieneman2015-08-251-1/+1
| | | | llvm-svn: 245971
* [CMake] merge add_compiler_rt_runtime and add_compiler_rt_darwin_runtime ↵Chris Bieneman2015-08-2511-159/+212
| | | | | | | | | | | | | | | | into a single function Summary: This refactoring moves much of the Apple-specific behavior into a function in AddCompilerRT. The next cleanup patch will remove more of the if(APPLE) checks in the outlying CMakeLists. This patch adds a bunch of new functionality to add_compiler_rt_runtime so that the target names don't need to be reconstructed outside the call. It also updates some of the call sites to exercise the new functionality, but does not update all uses fully. Subsequent patches will further update call sites and move to using the new features. Reviewers: filcab, bogner, kubabrecka, zaks.anna, glider, samsonov Subscribers: beanz, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D12292 llvm-svn: 245970
* [UBSan] Test churn: use the approach from r244839 and r245962 in UBSan lit ↵Alexey Samsonov2015-08-2510-31/+33
| | | | | | | | | | | tests. Introduce %env_ubsan_opts= substitution instead of specifying UBSAN_OPTIONS manually in the RUN-lines. This will come in handy once we introduce some default UBSAN_OPTIONS for the whole testsuite (for instance, make abort_on_error common option). llvm-svn: 245967
* Fix machine topology pruning.Jonathan Peyton2015-08-251-17/+22
| | | | | | | | | | | This patch fixes a bug when eliminating layers in the machine topology (namely cores, and threads). Before this patch, if a user specifies using only one thread per socket, then affinity is not set properly due to bad topology pruning. Differential Revision: http://reviews.llvm.org/D11158 llvm-svn: 245966
* Revert r245879. Speculative, might have caused crbug.com/524604Nico Weber2015-08-254-16/+33
| | | | llvm-svn: 245965
* Revert "[dsymutil] Rewrite thumb triple names in user visible messages."Frederic Riss2015-08-255-33/+2
| | | | | | | | This reverts commit r245960. Multiple bots are failing on the new test. It seemd like llvm-dsymutil exits with an error. Investigating. llvm-svn: 245964
* [MachO] Move trivial accessors to header.Davide Italiano2015-08-252-24/+18
| | | | | | Requested by: Jim Grosbach. llvm-svn: 245963
* [ASan] More ASAN_OPTIONS churn: use %env_asan_opts where applicable.Alexey Samsonov2015-08-2555-148/+142
| | | | | | | | | | Reviewers: filcab, rnk, kubabrecka Subscribers: tberghammer, danalbert, srhines, llvm-commits Differential Revision: http://reviews.llvm.org/D12305 llvm-svn: 245962
* Adds support for hardware watchpoints on Arm targets.Omair Javaid2015-08-253-0/+548
| | | | | | | | | | | | | | http://reviews.llvm.org/D9703 This updated patches correct problems in arm hardware watchpoint support patch posted earlier. This patch has been tested on samsung chromebook (ARM - Linux) and PandaBoard using basic watchpoint test application. Also it was tested on Nexus 7 Android device. On chromebook linux we are able to set and clear all types of watchpoints but on android we end up getting a watchpoint packet error because we are not able to call hardware watchpoint ptrace functions successfully. llvm-svn: 245961
* [dsymutil] Rewrite thumb triple names in user visible messages.Frederic Riss2015-08-255-2/+33
| | | | | | | | | | We autodetect triples from the input file(s) while reading the mach-o debug map. As we need to create a Target from those triples, we always chose the thumb variant (because the arm variant might not be 'instantiable' eg armv7m). The user visible architecture names should still be 'arm' and not 'thumb' variants though. llvm-svn: 245960
OpenPOWER on IntegriCloud