summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove DisableTailCalls from TargetOptions and the code in resetTargetOptionsAkira Hatanaka2015-06-0910-17/+106
| | | | | | | | | | | | | | | | | | | | | | | | | that was resetting it. Remove the uses of DisableTailCalls in subclasses of TargetLowering and use the value of function attribute "disable-tail-calls" instead. Also, unconditionally add pass TailCallElim to the pipeline and check the function attribute at the start of runOnFunction to disable the pass on a per-function basis. This is part of the work to remove TargetMachine::resetTargetOptions, and since DisableTailCalls was the last non-fast-math option that was being reset in that function, we should be able to remove the function entirely after the work to propagate IR-level fast-math flags to DAG nodes is completed. Out-of-tree users should remove the uses of DisableTailCalls and make changes to attach attribute "disable-tail-calls"="true" or "false" to the functions in the IR. rdar://problem/13752163 Differential Revision: http://reviews.llvm.org/D10099 llvm-svn: 239427
* Attach attribute "disable-tail-calls" to the functions in the IR.Akira Hatanaka2015-06-096-12/+23
| | | | | | | | | | | This commit adds back the code that seems to have been dropped unintentionally in r176985. rdar://problem/13752163 Differential Revision: http://reviews.llvm.org/D10100 llvm-svn: 239426
* [bpf] enable BPF backend in autoconf buildAlexei Starovoitov2015-06-092-5/+7
| | | | llvm-svn: 239425
* Change from alignof to llvm::alignOf to appease Visual StudioPete Cooper2015-06-091-2/+2
| | | | llvm-svn: 239424
* Allocate space for MCSymbol::Name only if required.Pete Cooper2015-06-093-13/+66
| | | | | | | | | | | | | | Similarly to User which allocates a number of Use's prior to the this pointer, allocate space for the Name* for MCSymbol only when we need a name. Given that an MCSymbol is 48-bytes on 64-bit systems, this saves a decent % of space. Given the verify_uselistorder test case with debug info and llc, 50k symbols have names out of 700k so this optimises for the common case of temporary unnamed symbols. Reviewed by David Blaikie. llvm-svn: 239423
* MergeFunctions: Don't replace a weak function use by another equivalent weak ↵Arnold Schwaighofer2015-06-092-24/+52
| | | | | | | | | | function We don't know whether the weak functions definition is the definitive definition. rdar://21303727 llvm-svn: 239422
* [ItaniumMangle] Mangle long double as __float128 for some Power targetsDavid Majnemer2015-06-094-1/+25
| | | | | | | | | | GCC mangles long double like __float128 in order to support compatibility with ABI variants which had a different interpretation of long double. This fixes PR23791. llvm-svn: 239421
* Revert "[DWARF] Fix a few corner cases in expression emission"David Blaikie2015-06-094-143/+9
| | | | | | | This reverts commit r239380 due to apparently GDB regressions: http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/22562 llvm-svn: 239420
* Rename `FileSpec::IsRelativeToCurrentWorkingDirectory` to `IsRelative`.Chaoren Lin2015-06-098-15/+30
| | | | | | | | | | | | | | | | | Summary: `IsRelativeToCurrentWorkingDirectory` was misleading, because relative paths are sometimes appended to other directories, not just the cwd. Plus, the new name is shorter. Also added `IsAbsolute` for completeness. Reviewers: clayborg, ovyalov Reviewed By: ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10262 llvm-svn: 239419
* COFF: Split SymbolTable::addCombinedLTOObject. NFC.Rui Ueyama2015-06-092-30/+42
| | | | llvm-svn: 239418
* Revert "Re-land r236052, "[SEH] Add 32-bit lowering code for __try""Reid Kleckner2015-06-098-278/+153
| | | | | | | This reverts commit r239415. This was committed accidentally, LLVM isn't ready for this. llvm-svn: 239417
* Disable style-on-command-line test on WindowsReid Kleckner2015-06-091-0/+4
| | | | llvm-svn: 239416
* Re-land r236052, "[SEH] Add 32-bit lowering code for __try"Reid Kleckner2015-06-098-153/+278
| | | | | | | | This reverts r236167. LLVM should be ready for this now. llvm-svn: 239415
* XFail pexpect tests for Windows hosts.Chaoren Lin2015-06-096-35/+44
| | | | | | | | | | Reviewers: vharron, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10340 llvm-svn: 239414
* COFF: Update comment.Rui Ueyama2015-06-091-1/+2
| | | | llvm-svn: 239413
* The constant initialization for globals in NVPTX is generated as an Samuel Antao2015-06-092-9/+56
| | | | | | | | | | array of bytes. The generation of this byte arrays was expecting the host to be little endian, which prevents big endian hosts to be used in the generation of the PTX code. This patch fixes the problem by changing the way the bytes are extracted so that it works for either little and big endian. llvm-svn: 239412
* Add more wrappers for symbol APIs to the C API.Eli Bendersky2015-06-092-0/+27
| | | | | | | | | | | This represents some of the functionality we expose in the llvmlite Python binding. Patch by Antoine Pitrou Differential Revision: http://reviews.llvm.org/D10222 llvm-svn: 239411
* [bpf] make BPF backend non-experimentalAlexei Starovoitov2015-06-091-0/+1
| | | | | | | | | only cmake build change. autoconf build and docs will follow email thread: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-June/thread.html#86523 llvm-svn: 239410
* Remove object_error::success and use std::error_code() insteadRui Ueyama2015-06-0919-126/+125
| | | | | | | | | | | | make_error_code(object_error) is slow because object::object_category() uses a ManagedStatic variable. But the real problem is that the function is called too frequently. This patch uses std::error_code() instead of object_error::success. In most cases, we return "success", so this patch reduces number of function calls to that function. http://reviews.llvm.org/D10333 llvm-svn: 239409
* [PowerPC] Reformat altivec.h with clang-formatBill Seurer2015-06-091-7361/+4978
| | | | | | This revision just fixes the formatting of altivec.h. llvm-svn: 239408
* Move target-specific Sema test to its own file.Jonathan Roelofs2015-06-092-6/+9
| | | | | | Fixing the build-break introduced in r239406. llvm-svn: 239407
* Fix printing of GCCAsmExprs with input or output arguments.Jonathan Roelofs2015-06-092-2/+10
| | | | | | Patch by Nick Sumner! llvm-svn: 239406
* Recommit "[mips] [IAS] Restore STI.FeatureBits in .set pop." (r239144).Toma Tabacu2015-06-094-12/+44
| | | | | | | Specified the llvm namespace for the 2 calls to make_unique() which caused compilation errors in Visual Studio 2013. llvm-svn: 239405
* clang-format: Support //!-comments, increase test coverage.Daniel Jasper2015-06-092-1/+19
| | | | llvm-svn: 239404
* X86-MPX: Implemented encoding for MPX instructions.Elena Demikhovsky2015-06-097-3/+121
| | | | | | Added encoding tests. llvm-svn: 239403
* Remove rm invocations where the file is immediately rewritten later.Benjamin Kramer2015-06-091-3/+1
| | | | | | | This may or may not help making this test less flaky on windows. There's a race condition in lit somewhere. llvm-svn: 239402
* Remove unused diagnostics.Benjamin Kramer2015-06-092-6/+2
| | | | | | | -Wreceiver-is-weak is unused but should be ignored, move it to the list of diagnostic groups. llvm-svn: 239401
* Removing spurious semi colons; NFC.Aaron Ballman2015-06-093-3/+3
| | | | llvm-svn: 239400
* Removing spurious semi colons; NFC.Aaron Ballman2015-06-093-3/+3
| | | | llvm-svn: 239399
* clang-format: [JS] Hotfix for runtime issue with deeply nested JS code.Daniel Jasper2015-06-092-3/+7
| | | | | | | | | | | | | | I have not succeeded in writing a proper test case for this yet and we also need to solve the underlying fundamental problem of trying too many combinations with nested blocks (basically this somewhat works around our Dijkstra algorithm). Preventing this linebreak is good anyways as usually the penalties never make us choose it (that's why I can't create a test) and it also looks ugly. Also cleaned up state comparison code that I discovered while hunting this down. llvm-svn: 239398
* Revert "[mips] [IAS] Add support for BNE and BEQ with an immediate operand." ↵Toma Tabacu2015-06-096-219/+2
| | | | | | | | (r239396). It was breaking buildbots. llvm-svn: 239397
* [mips] [IAS] Add support for BNE and BEQ with an immediate operand.Toma Tabacu2015-06-096-2/+219
| | | | | | | | | | | | | | | | Summary: For some branches, GAS accepts an immediate instead of the 2nd register operand. We only implement this for BNE and BEQ for now. Other branch instructions can be added later, if needed. Reviewers: dsanders Reviewed By: dsanders Subscribers: seanbruno, emaste, llvm-commits Differential Revision: http://reviews.llvm.org/D9666 llvm-svn: 239396
* [nvptx] Only support the 'm' inline assembly memory constraint. NFC.Daniel Sanders2015-06-091-6/+0
| | | | | | | | | | | | | | | | | | Summary: NVPTX doesn't seem to support any additional constraints. Therefore remove the target hook. No functional change intended. Reviewers: jholewinski Reviewed By: jholewinski Subscribers: jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D8209 llvm-svn: 239395
* [lldb-server][MIPS64] Assigning generic register numbers in register info ↵Sagar Thakur2015-06-091-7/+7
| | | | | | | | for mips64 Use generic register numbers for argument registers, fp, ra and flag register in register info. llvm-svn: 239394
* clang-cl: Ignore the /o option when /P is specified.Greg Bedwell2015-06-092-15/+7
| | | | | | | | | This matches the cl.exe behavior (tested with 18.00.31101). In order to specify an output file for /P, use the /Fi option instead. Differential Revision: http://reviews.llvm.org/D10313 llvm-svn: 239393
* [ADT] Assert that SmallVectorBase::grow_pod() successfully reallocates memory.Daniel Sanders2015-06-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | Summary: If malloc/realloc fails then the SmallVector becomes unusable since begin() and end() will return NULL. This is unlikely to occur but was the cause of recent bugpoint test failures on my machine. It is not clear whether not checking for malloc/realloc failure is a deliberate decision and adding checks has the potential to impact compiler performance. Therefore, this patch only adds the check to builds with assertions enabled for the moment. Reviewers: bkramer Reviewed By: bkramer Subscribers: bkramer, llvm-commits Differential Revision: http://reviews.llvm.org/D9520 llvm-svn: 239392
* MergeFunctions: Fix gcc warning in conditionDenis Protivensky2015-06-091-2/+2
| | | | llvm-svn: 239391
* llvm/test/DebugInfo/X86/expressions.ll: %llc_dwarf shouldn't be used with ↵NAKAMURA Takumi2015-06-091-2/+2
| | | | | | | | -mtriple, since %llc_dwarf implies the triple. In this case, use plain "llc". llvm-svn: 239390
* Reenable Misc/interpreter.c as r239388 correctly handles such targetsDavid Majnemer2015-06-091-1/+1
| | | | llvm-svn: 239389
* [Driver] Preserve the object file format in ComputeEffectiveClangTripleDavid Majnemer2015-06-092-2/+10
| | | | | | | | The object file format is sometimes overridden for MSVC targets to use ELF instead of COFF. Make sure we preserve this choice when setting the msvc version number in the triple. llvm-svn: 239388
* Disable clang/test/Misc/interpreter.c, for now, since r239273 mishandled ↵NAKAMURA Takumi2015-06-091-1/+1
| | | | | | *-msvc-elf. llvm-svn: 239387
* COFF: Handle references from LTO object to lazy symbols correctly.Peter Collingbourne2015-06-094-0/+41
| | | | | | | | | | | | | | The code generator may create references to runtime library symbols such as __chkstk which were not visible via LTOModule. Handle these cases by loading the object file from the library, but abort if we end up having loaded any bitcode objects. Because loading the object file may have introduced new undefined references, call reportRemainingUndefines again to detect and report them. Differential Revision: http://reviews.llvm.org/D10332 llvm-svn: 239386
* COFF: Allow the combined LTO object to define new symbols.Peter Collingbourne2015-06-092-4/+26
| | | | | | | | | | The LLVM code generator can sometimes synthesize symbols, such as SSE constants, that are not visible via the LTOModule interface. Allow such symbols so long as they have definitions. Differential Revision: http://reviews.llvm.org/D10331 llvm-svn: 239385
* Move X86-only test case to appropriate directoryKeno Fischer2015-06-091-0/+0
| | | | llvm-svn: 239384
* [lli] Make the OptLevel (-O=<char>) option accessible to the lazy JIT.Lang Hames2015-06-092-13/+20
| | | | | | No test case - this only affects generated code performance. llvm-svn: 239383
* [MSVC Compatibility] Don't diagnose c-style cast from void-ptr to fn-ptrDavid Majnemer2015-06-092-2/+7
| | | | | | | | The machinery added to permit a static_cast from void-ptr to fn-ptr unintentionally gets triggered for c-style casts and function-style casts. The observable effect was a diagnostic issued inappropriately. llvm-svn: 239382
* range-for'ify Args->filtered_begin(...) loopsSean Silva2015-06-095-184/+105
| | | | | | | We already have Args->filtered(...) which is a drop-in range-for replacement. llvm-svn: 239381
* [DWARF] Fix a few corner cases in expression emissionKeno Fischer2015-06-094-9/+143
| | | | | | | | | | | | | | | | | | | Summary: I noticed an object file with `DW_OP_reg4 DW_OP_breg4 0` as a DWARF expression, which I traced to a missing break (and `++I`) in this code snippet. While I was at it, I also added support for a few other corner cases along the same lines that I could think of. Test Plan: Hand-crafted test case to exercises these cases is included. Reviewers: echristo, dblaikie, aprantl Reviewed By: aprantl Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10302 llvm-svn: 239380
* [asan] Prevent __attribute__((annotate)) triggering errors on DarwinAnna Zaks2015-06-092-14/+26
| | | | | | | | | | | | | | | | | The following code triggers a fatal error in the compiler instrumentation of ASan on Darwin because we place the attribute into llvm.metadata section, which does not have the proper MachO section name. void foo() __attribute__((annotate("custom"))); void foo() {;} This commit reorders the checks so that we skip everything in llvm.metadata first. It also removes the hard failure in case the section name does not parse. That check will be done lower in the compilation pipeline anyway. (Reviewed in http://reviews.llvm.org/D9093.) llvm-svn: 239379
* Implement computeKnownBits for min/max nodesMatt Arsenault2015-06-094-5/+125
| | | | llvm-svn: 239378
OpenPOWER on IntegriCloud