- Jun 04, 2014
-
-
Alexander Musman authored
Fix post-commit review comments by Carlo Bertolli for commit r209660 - OMP collapse clause. Re-formatted TransformOMP* functions in TreeTransform.h with clang-format. llvm-svn: 210169
-
Nick Lewycky authored
Fix a use of uninitialized value. OldCC is set when IsCmpZero || IsSwapped and read when ShouldUpdateCC || IsSwapped, and ShouldUpdateCC is independent. Fixes PR19932, but no test since I wasn't able to get any symptoms to appear, not even with valgrind and the testcase from the PR. It's clear what happened from inspection of the code. llvm-svn: 210168
-
Andrew Trick authored
As requested by AArch64 subtargets. Note that this will have no effect until the AArch64 target actually enables the pass like this: substitutePass(&PostRASchedulerID, &PostMachineSchedulerID); As soon as armv7 switches over, PostMachineScheduler will become the default postRA scheduler, so this won't be necessary any more. Targets using the old postRA schedule would then do: substitutePass(&PostMachineSchedulerID, &PostRASchedulerID); llvm-svn: 210167
-
Andrew Trick authored
These were not exposed previously because I didn't want out-of-tree targets to be too dependent on their internals. They can be reused for a very wide variety of processors with casual scheduling needs without exposing the classes by instead using hooks defined in MachineSchedPolicy (we can add more if needed). When targets are more aggressively tuned or want to provide custom heuristics, they can define their own MachineSchedStrategy. I tend to think this is better once you start customizing heuristics because you can copy over only what you need. I don't think that layering heuristics generally works well. However, Arch64 targets now want to reuse the Generic scheduling logic but also provide extensions. I don't see much harm in exposing the Generic scheduling classes with a major caveat: these scheduling strategies may change in the future without validating performance on less mainstream processors. If you want to be immune from changes, just define your own MachineSchedStrategy. llvm-svn: 210166
-
Justin Bogner authored
Late last year r191835 removed a largely unmaintained legacy PGO infrastructure, but some of the docs were missed. Since these docs are for things that don't actually exist anymore, they should be removed. llvm-svn: 210165
-
Simon Atanasyan authored
No functional changes. llvm-svn: 210164
-
Todd Fiala authored
llvm-svn: 210163
-
Marshall Clow authored
llvm-svn: 210162
-
Alp Toker authored
Avoid changing behaviour for everyone who's used to the traditional ghostview UI, especially since it knows how to stay in the foreground unlike xdg-open. Amendment to r210147. llvm-svn: 210148
-
Alp Toker authored
This runs a suitable viewer on Unix desktop environments specified by Freedesktop.org (GNOME, KDE, Linux distributions etc.) llvm-svn: 210147
-
Alp Toker authored
llvm-svn: 210146
-
Alp Toker authored
This corrects long-standing misuses of LLVM's internal config.h. In most cases the public llvm-config.h header was intended and we can now remove the old hacks thanks to LLVM r210144. The config.h header is private, won't be installed and should no longer be included by clang or other modules. llvm-svn: 210145
-
Alp Toker authored
Also correct the llvm-config.h header guard so it doesn't depend on 'CONFIG_H' which is commonly defined in external projects and caused trouble for embedders. In future llvm/Config/llvm-config.h will be installed, but not the private llvm/Config/config.h header. llvm-svn: 210144
-
David Blaikie authored
DebugInfo: Partial revert r209984 due to more cases where abstract DbgVariables do not have associated DIEs. Along with a test case to demonstrate that due to inlining order there are cases where abstract variable DIEs are not constructed since the abstract subprogram was built due to a previous inlining that optimized away those variables. This produces incorrect debug info (the 'missing' abstract variable causes the inlined instance of that variable to be emitted with a full description (name, line, file) rather than referencing the abstract origin), but this commit at least ensures that it doesn't crash... llvm-svn: 210143
-
Nick Kledzik authored
In sections that are broken into atoms at symbols, if the first symbol in the section is not at the start of the section, then make an anonymous atom for the section content that is before the first symbol. llvm-svn: 210142
-
Hans Wennborg authored
This allows us to compile the following kind of code, which occurs in MSVC headers: template <typename> struct S { __declspec(dllimport) static int x; }; template <typename T> int S<T>::x; The definition works similarly to a dllimport inline function definition and gets available_externally linkage. Differential Revision: http://reviews.llvm.org/D3998 llvm-svn: 210141 -
Greg Fitzgerald authored
llvm-svn: 210140
-
Nick Kledzik authored
Previously each section kind had its own code to loop over the section and parse it into atoms. This refactoring has two tables. The first maps sections to ContentType. The second maps ContentType to information on how to find the atom boundaries. A few bugs in test cases were discovered as part of the refactoring. No change in functionality intended. llvm-svn: 210138
-
Richard Smith authored
to the normal non-placement ::operator new and ::operator delete, but allow optimizations like new-expressions and delete-expressions do. llvm-svn: 210137
-
Matt Arsenault authored
llvm-svn: 210135
-
Pete Cooper authored
This gets us closer to being able to remove LiveVariables entirely which is where dead instructions are currently tagged as such. Reviewed by Jakob Olesen llvm-svn: 210132
-
Richard Smith authored
llvm-svn: 210130
-
Jonathan Roelofs authored
Test case written by Dana Jansens. llvm-svn: 210129
-
Eric Christopher authored
we know next time this happens. llvm-svn: 210127
-
Eric Christopher authored
llvm-svn: 210126
-
Rafael Espindola authored
llvm-svn: 210125
-
Tobias Grosser authored
llvm-svn: 210124
-
Rafael Espindola authored
It was able to parse hidden dllexport global i32 42 but not dllexport global i32 42 llvm-svn: 210121
-
Rafael Espindola authored
llvm-svn: 210120
-
Rafael Espindola authored
llvm-svn: 210119
-
Alp Toker authored
llvm-svn: 210118
-
Sebastian Pop authored
Without this patch, the testcase would fail on the delinearization of the second array: ; void foo(long n, long m, long o, double A[n][m][o]) { ; for (long i = 0; i < n; i++) ; for (long j = 0; j < m; j++) ; for (long k = 0; k < o; k++) { ; A[i+3][j-4][k+7] = 1.0; ; A[i][0][k] = 2.0; ; } ; } ; CHECK: [n, m, o] -> { Stmt_for_body6[i0, i1, i2] -> MemRef_A[3 + i0, -4 + i1, 7 + i2] }; ; CHECK: [n, m, o] -> { Stmt_for_body6[i0, i1, i2] -> MemRef_A[i0, 0, i2] }; Here is the output of FileCheck on the testcase without this patch: ; CHECK: [n, m, o] -> { Stmt_for_body6[i0, i1, i2] -> MemRef_A[i0, 0, i2] }; ^ <stdin>:26:2: note: possible intended match here [n, m, o] -> { Stmt_for_body6[i0, i1, i2] -> MemRef_A[o0] }; ^ It is possible to find a good delinearization for A[i][0][k] only in the context of the delinearization of both array accesses. There are two ways to delinearize together all array subscripts touching the same base address: either duplicate the code from scop detection to first gather all array references and then run the delinearization; or as implemented in this patch, use the same delinearization info that we computed during scop detection. llvm-svn: 210117 -
Todd Fiala authored
Added set-memory:{content} and get-memory-address-hex: commands to the test exe for gdb-remote. Added a test that sets the content via the inferior command line, then reads it back via gdb-remote with $m. Passing on debugserver. Marked as fail on llgs. Implementing in the llgs branch next. llvm-svn: 210116 -
Alp Toker authored
Also revert r210096 which temporarily disabled the test while this was being investigated. llvm-svn: 210115
-
Tilmann Scheller authored
llvm-svn: 210114
-
Tilmann Scheller authored
[AArch64] Add regression tests for the load/store optimizer which cover post-index update folding with sub rather than add. The tests check that the following transform happens: (ldr|str) X, [x20] ... sub x20, x20, #16 -> (ldr|str) X, [x20], #-16 with X being either w0, x0, s0, d0 or q0. llvm-svn: 210113
-
- Jun 03, 2014
-
-
Jeroen Ketema authored
Reviewed-by:Aaron Watry <awatry@gmail.com> llvm-svn: 210111
-
Rafael Espindola authored
New code should probably use shared_ptr anyway. llvm-svn: 210110
-
Evgeniy Stepanov authored
llvm-svn: 210109
-
Evgeniy Stepanov authored
llvm-svn: 210108
-