summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [LLDB][MIPS] Fix Emulation for JALR64 InstructionNitesh Jain2016-09-091-0/+1
| | | | | Subscribers: jaydeep, bhushan, slthakur, sdardis, lldb-commits llvm-svn: 281032
* [LLDB][MIPS] Fix TestEhFrameUnwind.py for MIPSNitesh Jain2016-09-091-3/+29
| | | | | | | | | | Reviewers: clayborg, labath Subscribers: jaydeep, bhushan, slthakur, lldb-commits Differential Revision: https://reviews.llvm.org/D24122 llvm-svn: 281031
* Fixing a build breakage caused from a change in LLVM rL281019Dimitar Vlahovski2016-09-091-3/+1
| | | | | | | | | | | | | | Summary: LLVM guys did some clean-up of the Attribute getters/setters and because of that the build was failing. Reviewers: ldrumm Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D24382 llvm-svn: 281030
* NFC: Reformat ABISysV_i386 register context into something readablePavel Labath2016-09-091-668/+60
| | | | | | add clang-format guards so it does not reformat it again. llvm-svn: 281029
* [AMDGPU] Assembler: rename amd_kernel_code_t asm names according to specSam Kolton2016-09-099-430/+273
| | | | | | | | | | | | | | Summary: Also removed duplicate code from AMDGPUTargetAsmStreamer. This change only change how amd_kernel_code_t is parsed and printed. No variable names are changed. Reviewers: vpykhtin, tstellarAMD Subscribers: arsenm, wdng, nhaehnle Differential Revision: https://reviews.llvm.org/D24296 llvm-svn: 281028
* [Thumb1] Teach optimizeCompareInstr about thumb1 comparesJames Molloy2016-09-093-9/+78
| | | | | | | | This avoids us doing a completely unneeded "cmp r0, #0" after a flag-setting instruction if we only care about the Z or C flags. Add LSL/LSR to the whitelist while we're here and add testing. This code could really do with a spring clean. llvm-svn: 281027
* [LLDB][MIPS] Fix TestLldbGdbServer.py failureNitesh Jain2016-09-091-1/+3
| | | | | Subscribers: jaydeep, bhushan, slthakur, lldb-commits llvm-svn: 281026
* Fix new gdb-remote client unit test for windowsPavel Labath2016-09-091-3/+4
| | | | | | | The behaviour of FileSpec differed between host OS versions. Hardcode the path syntax to posix, as we don't care about that in this test. llvm-svn: 281025
* Linker script: implement AT [ (address) ] for PHDREugene Leviant2016-09-095-6/+44
| | | | | | Differential revision: https://reviews.llvm.org/D24340 llvm-svn: 281024
* [AMDGPU] Assembler: match e32 VOP instructions before e64.Sam Kolton2016-09-097-32/+126
| | | | | | | | | | | | | | | | | | | Summary: Split assembler match table in 4 tables with assembler variants: Default - all instructions except VOP3, SDWA and DPP - VOP3 - SDWA - DPP First match Default table then VOP3, SDWA and DPP. Reviewers: tstellarAMD, artem.tamazov, vpykhtin Subscribers: arsenm, wdng, nhaehnle, AMDGPU Differential Revision: https://reviews.llvm.org/D24252 llvm-svn: 281023
* [mips] Fix c.<cc>.<fmt> instruction definition.Simon Dardis2016-09-0937-614/+948
| | | | | | | | | | | | | | | As part of this effort, remove MipsFCmp nodes and use tablegen patterns rather than custom lowering through C++. Unexpectedly, this improves codesize for microMIPS as previous floating point setcc expansions would materialize 0 and 1 into GPRs before using the relevant mov[tf].[sd] instruction. Now $zero is used directly. Reviewers: dsanders, vkalintiris, zoran.jovanovic Differential Review: https://reviews.llvm.org/D23118 llvm-svn: 281022
* [Sparc][LEON] Unit test for CASA instruction supported by some LEON ↵Chris Dewhurst2016-09-091-0/+14
| | | | | | processors added. llvm-svn: 281021
* [Coroutines] Part13: Handle single edge PHINodes across suspendsGor Nishanov2016-09-094-4/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: If one of the uses of the value is a single edge PHINode, handle it. Original: %val = something <suspend> %p = PHINode [%val] After Spill + Part13: %val = something %slot = gep val.spill.slot store %val, %slot <suspend> %p = load %slot Plus tiny fixes/changes: * use correct index for coro.free in CoroCleanup * fixup id parameter in coro.free to allow authoring coroutine in plain C with __builtins Reviewers: majnemer Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D24242 llvm-svn: 281020
* Rationalise the attribute getter/setter methods on Function and CallSite.Amaury Sechet2016-09-097-97/+51
| | | | | | | | | | | | | | | | | | | Summary: While woring on mapping attributes in the C API, it clearly appeared that the recent changes in the API on the C++ side left Function and Call/Invoke with an attribute API that grew in an ad hoc manner. This makes it difficult to work with it, because one doesn't know which overloads exists and which do not. Make sure that getter/setter function exists for both enum and string version. Remove inconsistent getter/setter, unless they have many callsites. This should make it easier to work with attributes in the future. This doesn't change how attribute works. Reviewers: bkramer, whitequark, mehdi_amini, void Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21514 llvm-svn: 281019
* Update clang for D21514. NFCAmaury Sechet2016-09-091-4/+5
| | | | | | | | | | | | Summary: As per title. Reviewers: ahatanak, bkramer, whitequark, mehdi_amini, void Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D21515 llvm-svn: 281018
* [Docs] Fix typos, remove trailing whitespace.George Burgess IV2016-09-091-10/+10
| | | | | | | | Avoided wrapping NullabilityDocs at 80cols, since that would've made this diff much bigger, and never-ending lines seems to be the style for many of the null-related docs. llvm-svn: 281017
* [libFuzzer] improve -print_pcs to not print new PCs coming from libFuzzer itselfKostya Serebryany2016-09-092-8/+19
| | | | llvm-svn: 281016
* [sanitizer] fix a potential buffer overflow due to __sanitizer_symbolize_pc ↵Kostya Serebryany2016-09-092-1/+12
| | | | | | (need to put a zero after strncmp). LOL llvm-svn: 281015
* [libFuzzer] remove unneeded callKostya Serebryany2016-09-092-9/+0
| | | | llvm-svn: 281014
* [AVX-512] Add VPCMP instructions to the load folding tables and make them ↵Craig Topper2016-09-093-13/+63
| | | | | | commutable. llvm-svn: 281013
* [AVX-512] Add more integer vector comparison tests with loads. Some of these ↵Craig Topper2016-09-091-0/+198
| | | | | | | | show opportunities where we can commute to fold loads. Commutes will be added in a followup commit. llvm-svn: 281012
* [llvm-cov] Emit a summary in the report directory's indexVedant Kumar2016-09-098-35/+154
| | | | | | | | llvm-cov writes out an index file in '-output-dir' mode, albeit not a very informative one. Try to fix that by using the CoverageReport API to include some basic summary information in the index file. llvm-svn: 281011
* [llvm-cov] Constify some methods (NFC)Vedant Kumar2016-09-092-4/+5
| | | | llvm-svn: 281010
* [llvm-cov] Add an API to prepare file reports (NFC)Vedant Kumar2016-09-092-20/+47
| | | | | | | | It would be nice to prepare file reports (using the CoverageReport API) without actually rendering them to the console. I plan on using this to flesh out the 'index' files in the coverage views. llvm-svn: 281009
* [llvm-cov] Speculate fix for a Windows-only test (NFC)Vedant Kumar2016-09-091-4/+2
| | | | | | | | | | | | This test should have broken after r280896. Fix up the test case speculatively, since I don't have a way to test it. I wonder why I didn't get any angry bot emails about this. Maybe none of the win32 bots test llvm-cov? That could explain it, since the test says it 'REQUIRES: system-windows', which is restricted to win32 hosts. Also: why is 'system-windows' not defined for non-win32 Windows bots? llvm-svn: 281008
* [libFuzzer] remove use_traces=1 since use_value_profile seems to be strictly ↵Kostya Serebryany2016-09-097-84/+10
| | | | | | better llvm-svn: 281007
* [X86] Tighten up a comment which confused x64 ABI terminology.David Majnemer2016-09-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | The x64 ABI has two major function types: - frame functions - leaf functions A frame function is one which requires a stack frame. A leaf function is one which does not. A frame function may or may not have a frame pointer. A leaf function does not require a stack frame and may never modify SP except via a return (RET, tail call via JMP). A frame function which has a frame pointer is permitted to use the LEA instruction in the epilogue, a frame function without which doesn't establish a frame pointer must use ADD to adjust the stack pointer epilogue. Fun fact: Leaf functions don't require a function table entry (associated PDATA/XDATA). llvm-svn: 281006
* [X86] Add more baseline tests for "irregular" shuffles. NFC.Michael Kuperstein2016-09-091-13/+1136
| | | | | | | This adds more tests for shuffles where the output width does not match the input width and/or the output is generated from more than two inputs. llvm-svn: 281005
* Fix -output option.Rui Ueyama2016-09-092-2/+10
| | | | | | | | | Usually, options that are longer than one character can be preceded either by "-" or "--", but options starting with "o" are exceptions because they conflict with "-o" option. They have to be preceded by "--". llvm-svn: 281004
* Win64: Don't use REX prefix for direct tail callsHans Wennborg2016-09-089-12/+8
| | | | | | | | | | The REX prefix should be used on indirect jmps, but not direct ones. For direct jumps, the unwinder looks at the offset to determine if it's inside the current function. Differential Revision: https://reviews.llvm.org/D24359 llvm-svn: 281003
* .clang-tidy: parameters and members should be CamelCased.Mike Aizatsky2016-09-081-0/+4
| | | | | | | | Summary: Not sure why is it missing. Differential Revision: https://reviews.llvm.org/D24364 llvm-svn: 281002
* Fix bug in -nostdlib.Rui Ueyama2016-09-082-2/+5
| | | | | | | We still have to skip a token inside SEARCH_DIR() when -nostdlib is specified. Previuosly, we didn't skip it, so it caused a parse error. llvm-svn: 281001
* llvm-objdump: add missing ) in help output, NFCSaleem Abdulrasool2016-09-081-1/+1
| | | | | | Add a missing ')' in the help output. NFC. llvm-svn: 281000
* C++ Modules TS: Add parsing and some semantic analysis support forRichard Smith2016-09-0826-44/+328
| | | | | | | export-declarations. These don't yet have an effect on name visibility; we still export everything by default. llvm-svn: 280999
* [Driver] Report invalid -mtune/-mcpu parameters when -arch=arm64Vedant Kumar2016-09-082-9/+14
| | | | | | Differential Revision: https://reviews.llvm.org/D23643 llvm-svn: 280998
* Implement MS _rot intrinsicsAlbert Gutowski2016-09-084-55/+243
| | | | | | | | | | Reviewers: thakis, Prazek, compnerd, rnk Subscribers: majnemer, cfe-commits Differential Revision: https://reviews.llvm.org/D24311 llvm-svn: 280997
* [libFuzzer] add missing docsKostya Serebryany2016-09-081-0/+3
| | | | llvm-svn: 280996
* Remove debug info when hoisting instruction from then/else branch.Dehao Chen2016-09-082-0/+91
| | | | | | | | | | | | Summary: The hoisted instruction is executed speculatively. It could affect the debugging experience as user would see gdb go into code that may not be expected to execute. It will also affect sample profile accuracy by assigning incorrect frequency to source within then/else branch. Reviewers: davidxl, dblaikie, chandlerc, kcc, echristo Subscribers: mehdi_amini, probinson, eric_niebler, andreadb, llvm-commits Differential Revision: https://reviews.llvm.org/D24164 llvm-svn: 280995
* Define writeUint and use it. NFC.Rui Ueyama2016-09-081-10/+13
| | | | llvm-svn: 280994
* [InstCombine] regenerate checksSanjay Patel2016-09-081-228/+284
| | | | llvm-svn: 280993
* [LV] Ensure proper handling of multi-use case when collecting uniformsMatthew Simpson2016-09-082-6/+9
| | | | | | | | | | | The test case included in r280979 wasn't checking what it was supposed to be checking for the predicated store case. Fixing the test revealed that the multi-use case (when a pointer is used by both vectorized and scalarized memory accesses) wasn't being handled properly. We can't skip over non-consecutive-like pointers since they may have looked consecutive-like with a different memory access. llvm-svn: 280992
* [InstCombine] regenerate checksSanjay Patel2016-09-081-60/+77
| | | | llvm-svn: 280991
* [ELF] Fix DT_NEEDED value.Davide Italiano2016-09-083-3/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D24363 llvm-svn: 280990
* ELF: clarify error when we don't know the output formatEd Maste2016-09-082-2/+2
| | | | | | | | | | | | | | | | | | lld differs from GNU ld in that it does not have a built-in default target emulation. Emulation is always specified via the -m option, or obtained from the object file(s) being linked. In most cases at least one ELF object is included in the link, so the emulation is known. When using lld's (not yet committed) -b binary support with -r, to convert a binary file into an ELF object we do not have a known emulation. The error message previously emitted in this case "-m or at least a .o file required" is accurate but does not offer much insight. Add text to the error message to give a hint why -m or an object file is required. Differential Revision: https://reviews.llvm.org/D24348 llvm-svn: 280989
* support: clean up MSVC supportSaleem Abdulrasool2016-09-081-20/+2
| | | | | | | | | | | Visual Studio 2013 (CRT version 12) added support for many C99 long long and long double functions. Visual Studio 2015 (CRT version 14) increased C99 and C11 compliance further. Since we don't support Visual Studio versions older than 2013, we can considerably clean up the support header. Patch by Shoaib Meenai! llvm-svn: 280988
* [RDF] Further improve handling of multiple phis reached from shadowsKrzysztof Parzyszek2016-09-082-31/+56
| | | | llvm-svn: 280987
* Reduce templating. NFC.Rafael Espindola2016-09-081-11/+7
| | | | llvm-svn: 280986
* Define '-undefined foo' as an alias to '-undefined=foo'.Rui Ueyama2016-09-082-1/+4
| | | | llvm-svn: 280985
* [modules] Apply ODR merging for function scoped tags only in C++ mode.Vassil Vassilev2016-09-086-1/+26
| | | | | | | | | | | In C mode, if we have a visible declaration but not a visible definition, a tag defined in the declaration should be have a visible definition. In C++ we rely on the ODR merging, whereas in C we cannot because each declaration of a function gets its own set of declarations in its prototype scope. Patch developed in collaboration with Richard Smith! llvm-svn: 280984
* ELF: Report original emulation name in "unknown emulation" errorEd Maste2016-09-082-5/+6
| | | | | | | | | | | | | | | | A trailing _fbsd is stripped from emulation names, but if the result was still not a valid emulation the error was somewhat confusing. For example, % ld.lld -m elf_amd64_fbsd unknown emulation: elf_amd64 Use the original emulation name in error messages. Differential Revision: https://reviews.llvm.org/D24357 llvm-svn: 280983
OpenPOWER on IntegriCloud