- 21 May, 2017 1 commit
-
-
Simon Schuster authored
This commit catches up to a matching bugfix in patmos-llvm. The former implementation passed the platina type and expression infromation by means of two metadata items attached to the intrinsic call instruction. However, the tail-call-optimization dropped this metadata (in sync with the docs): A transformation is required to drop any metadata attachment that it does not know or know it can’t preserve. Passing this data by means of operands to the call instruction should be more robust.
-
- 12 May, 2017 4 commits
-
-
Simon Schuster authored
What it says on the tin. Parsing only.
-
Simon Schuster authored
What it says on the tin. Parsing only.
-
Simon Schuster authored
This commit refactors clangs handling of `#pragma platina` to be truly generic for any combination of type and string-expression. Adding a new `#pragma platina <subcommand>` to the C/C++ frontend should be as subclassing PragmaPlatinaHandler, registering/deregistering it with the Parser in initialize/resetPragmaHandlers, adapting `include/clang/Basic/Attr.td` with the additional invocation and adding the actual handlers in patmos-llvm's PMLExport.
-
Simon Schuster authored
The platina intrinsic now takes two metadata items, "platina.type" and "platina.expr". This commit changes the handling to provide both.
-
- 08 May, 2017 1 commit
-
-
Simon Schuster authored
-
- 06 May, 2017 1 commit
-
-
Simon Schuster authored
This commit adds a custom pragma to the clang frontend: `#pragma platina guard "..."` It degrades to the llvm's intrinisc::platina, which stores the annotation string in the associated metadata node. Rational is to use that pragma to mark viable, but effectively dead code paths, e.g. code paths that are only entered during an initialisation phase.
-
- 12 Apr, 2017 1 commit
-
-
Simon Schuster authored
Currently, it is required to state the export filename explicitly via "-mserialize=out.pml". This makes it hard to easily integrate it into a Makefile e.g. in the kernel context. Now it is possible to use "-mserialize-auto", which determines the output filenames based on the value of the "-o outfile" parameter by using "outfile.pml" and "outfile.bc" respectively
-
- 11 Apr, 2017 1 commit
-
-
Simon Schuster authored
This reverts commit c6069fb2.
-
- 10 Apr, 2017 2 commits
-
-
Christian Dietrich authored
-
Simon Schuster authored
CFRGs can't handle several optimizations. Consequently, those optimizations (already disabled for patmos) need to be disabled for the ARM backend, too.
-
- 15 Apr, 2016 1 commit
-
-
Wolfgang Puffitsch authored
-
- 16 Mar, 2016 28 commits
-
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@262836 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@262544 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@262523 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@262365 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r261669 | aaronballman | 2016-02-23 10:55:15 -0800 (Tue, 23 Feb 2016) | 1 line Amends r252104 to evaluate the controlling expression in an unevaluated context. This eliminates false-positive diagnostics about null pointer dereferences (etc) in the controlling expression. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261684 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r261422 | rdivacky | 2016-02-20 00:31:24 -0800 (Sat, 20 Feb 2016) | 10 lines Fix handling of vaargs on PPC32 when going from regsave to overflow. It can happen that when we only have 1 more register left in the regsave area we need to store a value bigger than 1 register and therefore we go to the overflow area. In this case we have to leave the last slot in the regsave area unused and keep using overflow area. Do this by storing a limit value to the used register counter in the overflow block. Issue diagnosed by and solution tested by Mark Millard! ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261553 91177308-0d34-0410-b5e6-96231b3b80d8
-
Michael Wong authored
http://reviews.llvm.org/D17323 git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261526 91177308-0d34-0410-b5e6-96231b3b80d8
-
Renato Golin authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261357 91177308-0d34-0410-b5e6-96231b3b80d8
-
Renato Golin authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261343 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r261209 | abataev | 2016-02-18 05:48:15 -0800 (Thu, 18 Feb 2016) | 4 lines [OPENMP] Fix codegen for lastprivate loop counters. Patch fixes bug with codegen for lastprivate loop counters. Also it may improve performance for lastprivates calculations in some cases. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261257 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r261080 | abataev | 2016-02-17 02:29:05 -0800 (Wed, 17 Feb 2016) | 3 lines [OPENMP] Fix handling loop-based directives with arrays. Patch fixes possible problems with correct handling arrays as expressions in initialization, conditions etc in loop-based constructs. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261256 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r257763 | djasper | 2016-01-14 05:36:46 -0800 (Thu, 14 Jan 2016) | 8 lines clang-format: Fix incorrectly enforced linebreak with ColumnLimit 0. Before: aaaa[bbbb] .cccc(); After: aaaa[bbbb].cccc(); ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261225 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r259874 | compnerd | 2016-02-04 20:12:40 -0800 (Thu, 04 Feb 2016) | 8 lines CodeGen: correct Windows ARM C++ assertion Because the Decl is explicitly passed as nullptr further up the call chain, it is possible to invoke isa on a nullptr, which will assert. Guard against the nullptr. Take the opportunity to reuse the helper method rather than re-implementing this logic. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261158 91177308-0d34-0410-b5e6-96231b3b80d8
-
Dimitry Andric authored
------------------------------------------------------------------------ r260851 | dim | 2016-02-14 17:08:20 +0100 (Sun, 14 Feb 2016) | 13 lines As reported in https://llvm.org/bugs/show_bug.cgi?id=25496, on FreeBSD, C++ programs compiled for profiling (using `-pg`) should be linked with `-lc++_p` (or `-lstdc++_p`, depending on the `-stdlib=` setting), not with the regular C++ libraries. Add a `FreeBSD::AddCXXStdlibLibArgs()` override to handle this, and add a test case for it. While here, extend the test case for the proper passing of -lm and -lm_p. Reviewers: compnerd, davide, dws, emaste Reviewed By: compnerd Differential Revision: http://reviews.llvm.org/D16264 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261003 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r260370 | abataev | 2016-02-10 02:50:12 -0800 (Wed, 10 Feb 2016) | 1 line Fix PR26543: add a check for definition in CXXRecordDecl. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@261002 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260997 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260992 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
By Anastasia Stulova! git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260988 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260984 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r260616 | joerg | 2016-02-11 15:18:36 -0800 (Thu, 11 Feb 2016) | 4 lines Now that Sparc/Sparc64 backend is mostly usable, provide the same linking defaults as other NetBSD targets, i.e. compiler_rt-in-libc and libc++ as STL. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260756 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260718 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260716 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260642 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r260637 | hans | 2016-02-11 17:01:37 -0800 (Thu, 11 Feb 2016) | 1 line UsersManual: update clang-cl commands ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260638 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
I ran: $ bin/clang-tblgen -gen-attr-docs -I../cfe.src/include ../cfe.src/include/clang/Basic/Attr.td -o ../cfe.src/docs/AttributeReference.rst git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260636 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@260635 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r259931 | uweigand | 2016-02-05 13:34:28 -0800 (Fri, 05 Feb 2016) | 33 lines [SystemZ] Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP macros Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_[1248] macros on SystemZ. This fixes a miscompile of GCC C++11 standard library headers due to use of those macros in an ABI-changing manner. See e.g. /usr/include/c++/4.8.5/ext/concurrence.h: // Compile time constant that indicates prefered locking policy in // the current configuration. static const _Lock_policy __default_lock_policy = #ifdef __GTHREADS #if (defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2) \ && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4)) _S_atomic; #else _S_mutex; #endif #else _S_single; #endif A different choice of __default_lock_policy causes different sizes of several of the C++11 data structures, which are then incompatible when inlined in clang-compiled code with what the (GCC-compiled) external library expects. This in turn leads to various crashes when using std::thread in code compiled with clang, as see e.g. via the ThreadPool unit tests. See PR 26473 for an example. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@259939 91177308-0d34-0410-b5e6-96231b3b80d8
-
Hans Wennborg authored
------------------------------------------------------------------------ r259183 | uweigand | 2016-01-29 02:45:23 -0800 (Fri, 29 Jan 2016) | 8 lines Add target triple to CodeGenOpenCL/pipe_types.cl test case The test is failing on SystemZ since different IR is being generated due to platform ABI differences. Add a target triple. Fix suggested by Anastasia Stulova. ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_38@259808 91177308-0d34-0410-b5e6-96231b3b80d8
-