summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELFYAML] Group ELF section type flags to target specific blocks.Simon Atanasyan2014-07-123-9/+31
| | | | | | Recognize only flags which correspond to the current target. llvm-svn: 212880
* llgs: modify to accept --native-regs flag.Todd Fiala2014-07-121-10/+13
| | | | | | | | | | | | | | | | This is the last flag sent by lldb-platform that was not accepted by llgs and is accepted by debugserver. Conditionalized out a bit more code in prep for Windows support one day based on _WIN32 define. Updated the lldb-gdbserver usage string to represent recent updates to command line arguments (and some older ones like --attach pid). Implements https://github.com/tfiala/lldb/issues/37 llvm-svn: 212879
* Add FreeBSD failure decorator for TestCallStopAndContinueEd Maste2014-07-121-0/+1
| | | | | | | | | | The testrun now completes successfully on my FreeBSD 11.0-CURRENT laptop. There are some intermittent failures on the FreeBSD buildbot still, which should be addressed in later commits. llvm.org/pr20274 llvm-svn: 212878
* Add FreeBSD decorator for TestMultipleDebuggersEd Maste2014-07-121-0/+1
| | | | | | llvm.org/pr20282 llvm-svn: 212877
* Fixed compilation errors in tests, enforce checking for errors in ↵Alexander Kornienko2014-07-123-8/+16
| | | | | | | | | | | | | | check_clang_tidy_fix.sh. Reviewers: sbenza, djasper Reviewed By: djasper Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4480 llvm-svn: 212876
* Fix an issue with the MergeBasicBlockIntoOnlyPred() helper function where it didOwen Anderson2014-07-122-5/+5
| | | | | | | | | | not properly handle the case where the predecessor block was the entry block to the function. The only in-tree client of this is JumpThreading, which worked around the issue in its own code. This patch moves the solution into the helper so that JumpThreading (and other clients) do not have to replicate the same fix everywhere. llvm-svn: 212875
* Add nonnull in CodeGen for __attribute__((returns_nonnull))Hal Finkel2014-07-122-0/+8
| | | | | | | As a follow-up to r212835, also add the LLVM nonnull function attribute when __attribute__((returns_nonnull)) is provided. llvm-svn: 212874
* llgs: implement --setsid.Todd Fiala2014-07-123-4/+115
| | | | | | | | | | | | | The --setsid (-S) option changes the session id for the lldb-gdbserver process. This is used by tools such as lldb-platform and allows the user to prevent llgs from being in the same session as a calling terminal session. This will prevents terminal group control signals from affecting lldb-gdbserver. See also: https://github.com/tfiala/lldb/issues/38 llvm-svn: 212873
* [ASan] Collect unmangled names of global variables in Clang to print them in ↵Alexey Samsonov2014-07-129-47/+86
| | | | | | | | | | | | | | | | | error reports. Currently ASan instrumentation pass creates a string with global name for each instrumented global (to include global names in the error report). Global name is already mangled at this point, and we may not be able to demangle it at runtime (e.g. there is no __cxa_demangle on Android). Instead, create a string with fully qualified global name in Clang, and pass it to ASan instrumentation pass in llvm.asan.globals metadata. If there is no metadata for some global, ASan will use the original algorithm. This fixes https://code.google.com/p/address-sanitizer/issues/detail?id=264. llvm-svn: 212872
* Require an x86 registered target for this test by splitting it outReid Kleckner2014-07-122-6/+12
| | | | | | | This is a shot in the dark to fix the hexagon bot, so I'm not 100% sure this is the issue. llvm-svn: 212871
* R600: Add missing tests for some intrinsicsMatt Arsenault2014-07-127-5/+109
| | | | llvm-svn: 212870
* clang-cl: Make all x86 CPU feature flags available, such as -msse3Reid Kleckner2014-07-122-3/+5
| | | | | | | | | | | | | Ideally, we would use the /arch cl.exe flag for this stuff. Unfortunately, MSVC supports only 5 /arch flag values, which isn't nearly enough to cover all the CPU features that LLVM cares about. At the very least, we need to know about SSE3 and SSE4.1 in addition to SSE, SSE2, AVX, and AVX2. In the future we should add the relevant /arch mappings in addition to these gcc-style -m flags. llvm-svn: 212869
* BFI: Add constructor for WeightDuncan P. N. Exon Smith2014-07-122-5/+3
| | | | llvm-svn: 212868
* lldb needs to support DW_op_piece masks for values in subregister and also ↵Greg Clayton2014-07-126-6/+124
| | | | | | | | | | to be able to piece together a value that is spread across multiple registers. Patch from Adrian Prantl. <rdar://problem/16040521> llvm-svn: 212867
* BFI: Clean up BlockMassDuncan P. N. Exon Smith2014-07-122-45/+22
| | | | | | | | | | | | | | Implementation is small now -- the interesting logic was moved to `BranchProbability` a while ago. Move it into `bfi_detail` and get rid of the related TODOs. I was originally planning to define it within `BlockFrequencyInfoImpl` (or `BFIIBase`), but it seems cleaner in a namespace. Besides, `isPodLike` needs to be specialized before `BlockMass` can be used in some of the other data structures, and there isn't a clear way to do that. llvm-svn: 212866
* Option: Propagate flags from groups to options in each groupReid Kleckner2014-07-122-11/+16
| | | | | | | This should make it easy to set a flag for a whole group of clang driver options. llvm-svn: 212865
* [RuntimeDyld] Fix stub size and offset for AArch64 in RuntimeDyldMachO.h.Lang Hames2014-07-121-2/+10
| | | | | | <rdar://problem/17648000> llvm-svn: 212864
* Allow generic ARM cores to match any more specific ARM architecture.Greg Clayton2014-07-122-3/+32
| | | | | | <rdar://problem/15932248> llvm-svn: 212863
* Avoid a warning from MSVC on "*/" in this code by inserting a spaceReid Kleckner2014-07-121-1/+1
| | | | llvm-svn: 212862
* BFI: Mark the end of namespacesDuncan P. N. Exon Smith2014-07-112-3/+6
| | | | llvm-svn: 212861
* Form a CallExpr from __noop without parensReid Kleckner2014-07-112-6/+36
| | | | | | | | | | | | MSVC accepts __noop without any trailing parens and treats it like a literal zero. We don't treat __noop as an integer literal, but now at least we can parse a naked __noop expression. Reviewers: rsmith Differential Revision: http://reviews.llvm.org/D4476 llvm-svn: 212860
* [RuntimeDyld] Add GOT support for AArch64 to RuntimeDyldMachO.Lang Hames2014-07-111-24/+174
| | | | | | | | Test cases to follow once RuntimeDyldChecker supports introspection of stubs. Fixes <rdar://problem/17648000> llvm-svn: 212859
* [Driver] clang::driver::getARMCPUForMArch() moved to ↵Argyrios Kyrtzidis2014-07-114-122/+2
| | | | | | | | | llvm::Triple::getARMCPUForArch(). Depends on llvm r212846. Suggested by Eric Christopher. llvm-svn: 212858
* [ASan] Improve ODR-violation error reports.Alexey Samsonov2014-07-112-9/+15
| | | | | | Demangle names of involved globals. Print a more consistent summary line. llvm-svn: 212857
* Remove assert now that we have a 'i' character that might come through as ↵Greg Clayton2014-07-111-1/+0
| | | | | | | | well as the 'q' character on the interrupt pipe. <rdar://problem/15840749> llvm-svn: 212856
* Revert "[FastISel][X86] Implement the FastLowerIntrinsicCall hook."Juergen Ributzka2014-07-111-38/+42
| | | | | | This reverts commit r212851, because it broke the memset lowering. llvm-svn: 212855
* Added llgs --named-pipe support and program_name-version_number printout ↵Todd Fiala2014-07-113-51/+251
| | | | | | | | | | | support. Added a unit test to test debugserver and llgs compliance on --named-pipe support. Modified llgs to implement --named-pipe support. (Note: need to revisit with new generic pipe support). llvm-svn: 212854
* Don't crash when a SBType is handed out through the API and later used after ↵Greg Clayton2014-07-112-89/+234
| | | | | | | | | | the module that owns the type is deleted. The fix adds a std::weak_ptr<Module> into the TypeImpl and fills in the weak pointer when possible. It also checks to make sure the module is still alive prior to using it which should make our API safer to use. <rdar://problem/15455145> llvm-svn: 212853
* Don't use "lldb." global variables in LLDB commands.Greg Clayton2014-07-111-1/+4
| | | | llvm-svn: 212852
* [FastISel][X86] Implement the FastLowerIntrinsicCall hook.Juergen Ributzka2014-07-111-42/+38
| | | | | | | Rename X86VisitIntrinsicCall -> FastLowerIntrinsicCall, which effectively implements the target hook. llvm-svn: 212851
* [ASan] Introduce a struct representing the layout of metadata entry in ↵Alexey Samsonov2014-07-111-47/+37
| | | | | | | | llvm.asan.globals. No functionality change. llvm-svn: 212850
* [FastISel] Add target-independent patchpoint intrinsic support. WIP.Juergen Ributzka2014-07-112-0/+173
| | | | | | | | | | This implements the target-independent lowering for the patchpoint intrinsic. Targets have to implement the FastLowerCall hook to support this intrinsic. Related to <rdar://problem/17427052> llvm-svn: 212849
* [FastISel] Add basic infrastructure to support a target-independent call ↵Juergen Ributzka2014-07-112-7/+361
| | | | | | | | | | | | | | | lowering hook in FastISel. WIP The infrastructure mimics the call lowering we have already in place for SelectionDAG, but with limitations. For example structure return demotion and non-simple types are not supported (yet). Currently every backend has its own implementation and duplicated code for call lowering. There is also no specified interface that could be called from target-independent code. The target-hook is opt-in and doesn't affect current implementations. llvm-svn: 212848
* When we sink an instruction, this can open up opportunity for the operands ↵Aditya Nandakumar2014-07-112-3/+12
| | | | | | to be sunk - add them to the worklist llvm-svn: 212847
* Move the API and implementation of clang::driver::getARMCPUForMArch() to ↵Argyrios Kyrtzidis2014-07-113-0/+100
| | | | | | | | llvm::Triple::getARMCPUForArch(). Suggested by Eric Christopher. llvm-svn: 212846
* Consolidate header inclusion diagnosticsAlp Toker2014-07-1113-60/+49
| | | | | | | Make argument orders match, unify diagnostic IDs and reword the message to be a little less saccharine. llvm-svn: 212845
* [FastISel] Make isInTailCallPosition independent of SelectionDAG.Juergen Ributzka2014-07-113-8/+9
| | | | | | | Break out the arguemnts required from SelectionDAG, so that this function can also be used by FastISel. llvm-svn: 212844
* [FastISel] Breakout intrinsic lowering into a separate function and add a ↵Juergen Ributzka2014-07-112-34/+45
| | | | | | | | | | | target-hook. Create a separate helper function for target-independent intrinsic lowering. Also add an target-hook that allows to directly call into a target-sepcific intrinsic lowering method. Currently the implementation is opt-in and doesn't affect existing target implementations. llvm-svn: 212843
* Add the "-s" flag to llvm-nm for Mach-O files that prints symbols only inKevin Enderby2014-07-112-0/+78
| | | | | | | | | | | | | the specified section. This is same functionality as darwin’s nm(1) "-s" flag. There is one FIXME in the code and I’m all ears to anyone that can help me with that. This option takes exactly two strings and should be allowed anywhere on the command line. Such that "llvm-nm -s __TEXT __text foo.o" would work. But that does not as the CommandLine Library does not have a way to make this work as far as I can tell. For now the "-s __TEXT __text" has to be last on the command line. llvm-svn: 212842
* CodeGen: Don't emit a thread-wrapper if we can't touch the backing variableDavid Majnemer2014-07-112-9/+48
| | | | | | | | | | | | | | | | OS X TLS has all accesses going through the thread-wrapper function and gives the backing thread-local variable internal linkage. This means that thread-wrappers must have WeakAnyLinkage so that references to the internal thread-local variables do not get propagated to other code. It also means that translation units which do not provide a definition for the thread-local variable cannot attempt to emit a thread-wrapper because the thread wrapper will attempt to reference the backing variable. Differential Revision: http://reviews.llvm.org/D4109 llvm-svn: 212841
* oops. correct the prefix.Brad Smith2014-07-111-1/+1
| | | | llvm-svn: 212840
* MS extension: Make __noop be the integer zero, not voidReid Kleckner2014-07-113-5/+6
| | | | | | | We still don't accept '__noop;', and we don't consider __noop to be the integer literal zero. More work is needed. llvm-svn: 212839
* Handle SPARC float command line parameters for SPARCv9.Brad Smith2014-07-112-1/+40
| | | | llvm-svn: 212838
* Simplify the raw_svector_ostream tweak from r212816Alp Toker2014-07-111-13/+4
| | | | | | | | | | | | The memcpy() and overlap helps didn't help much with timings, so clean up the change. The difference at this point is that we now leave growth of the storage buffer up to SmallVector's implementation: - OS.reserve(OS.capacity() * 2); + OS.reserve(OS.size() + 64); llvm-svn: 212837
* [modules] When merging a class template, also merge the definition of its ↵Richard Smith2014-07-114-3/+35
| | | | | | pattern. llvm-svn: 212836
* Add nonnull in CodeGen for __attribute__((nonnull))Hal Finkel2014-07-112-0/+28
| | | | | | | | We now have an LLVM-level nonnull attribute that can be applied to function parameters, and we emit it for reference types (as of r209723), but did not emit it when an __attribute__((nonnull)) was provided. Now we will. llvm-svn: 212835
* [MC] Constify MCELF::GetVisibility and MCELF::getOtherUlrich Weigand2014-07-112-4/+4
| | | | | | | These two routines didn't take a "const MCSymbolData &SD" like the other MCELF::Get routines for some reason ... llvm-svn: 212834
* Test for warning being silencedSylvestre Ledru2014-07-111-0/+9
| | | | | | | | | | | | | | | | Summary: Added some tests to see if the new warning would be silenced with a flag. Patch by Arthur Marble <arthur@info9.net> in the context of Debian Google Summer of code 2014. Reviewers: sylvestre.ledru Reviewed By: sylvestre.ledru Differential Revision: http://reviews.llvm.org/D4475 llvm-svn: 212833
* [PowerPC] Fix invalid displacement created by LocalStackAllocUlrich Weigand2014-07-112-10/+81
| | | | | | | | | | | | | | | | | | | | | | | This commit fixes a bug in PPCRegisterInfo::isFrameOffsetLegal that could result in the LocalStackAlloc pass creating an MI instruction out-of-range displacement: %vreg17<def> = LD 33184, %vreg31; mem:LD8[%g](align=32) %G8RC:%vreg17 G8RC_and_G8RC_NOX0:%vreg31 (In final assembler output the top bits are stripped off, resulting in a negative offset loading from below the stack pointer.) Common code expects the isFrameOffsetLegal routine to verify whether adding a given offset to the offset already present in the instruction results in a valid displacement. However, on PowerPC the routine did not take the already present instruction offset into account. This commit fixes isFrameOffsetLegal to add the instruction offset, and updates a local caller (needsFrameBaseReg) to no longer add the instruction offset itself before calling isFrameOffsetLegal. Reviewed by Hal Finkel. llvm-svn: 212832
* R600/SI: Use i32 vectors for resources and samplersMarek Olsak2014-07-115-91/+91
| | | | | | | | This affects new intrinsics only. What surprises me is that v32i8 still works. llvm-svn: 212831
OpenPOWER on IntegriCloud