- Apr 12, 2016
-
-
Rafael Espindola authored
The test changes to put _gp* in the .got section matches what both bfd and gold do. llvm-svn: 266067
-
Johannes Doerfert authored
llvm-svn: 266066
-
Johannes Doerfert authored
llvm-svn: 266065
-
Rafael Espindola authored
llvm-svn: 266064
-
Rafael Espindola authored
The _gp* family of symbols is defined as an offset in .got, and it is not at all clear what should happen when .got is not defined. This will allow some simplifications on how these symbols are handled. llvm-svn: 266063
-
Rafael Espindola authored
They broke the msan bot. Original message: Add __atomic_* lowering to AtomicExpandPass. AtomicExpandPass can now lower atomic load, atomic store, atomicrmw,and cmpxchg instructions to __atomic_* library calls, when the target doesn't support atomics of a given size. This is the first step towards moving all atomic lowering from clang into llvm. When all is done, the behavior of __sync_* builtins, __atomic_* builtins, and C11 atomics will be unified. Previously LLVM would pass everything through to the ISelLowering code. There, unsupported atomic instructions would turn into __sync_* library calls. Because of that behavior, Clang currently avoids emitting llvm IR atomic instructions when this would happen, and emits __atomic_* library functions itself, in the frontend. This change makes LLVM able to emit __atomic_* libcalls, and thus will eventually allow clang to depend on LLVM to do the right thing. It is advantageous to do the new lowering to atomic libcalls in AtomicExpandPass, before ISel time, because it's important that all atomic operations for a given size either lower to __atomic_* libcalls (which may use locks), or native instructions which won't. No mixing and matching. At the moment, this code is enabled only for SPARC, as a demonstration. The next commit will expand support to all of the other targets. Differential Revision: http://reviews.llvm.org/D18200 llvm-svn: 266062
-
Simon Dardis authored
This reverts commit r266055. ps4-buildslave2 is highlighting a failure. llvm-svn: 266061
-
Jonas Paulsson authored
On z13, if eliminateFrameIndex() chooses LE (and not LEY), immediately transform that LE to LDE32 to avoid partial register dependencies. LEY should be generally preferred for big offsets over an expansion into LAY + LDE32. Reviewed by Ulrich Weigand. llvm-svn: 266060
-
George Rimar authored
llvm-svn: 266059
-
Pavel Labath authored
the process info packet is slow, and sometimes it does not arrive on time when run on the android emulator. llvm-svn: 266058
-
Benjamin Kramer authored
llvm-svn: 266057
-
Alexey Bataev authored
The linear clause declares one or more list items to be private to a SIMD lane and to have a linear relationship with respect to the iteration space of a loop. 'linear' '(' <linear-list> [ ':' <linear-step> ] ')' When a linear-step expression is specified in a linear clause it must be either a constant integer expression or an integer-typed parameter that is specified in a uniform clause on the directive. The special this pointer can be used as if was one of the arguments to the function in any of the linear, aligned, or uniform clauses. llvm-svn: 266056
-
Simon Dardis authored
Summary: Alias 'jic $reg, 0' to 'jrc $reg' and 'jialc $reg, 0' to 'jalrc $reg' like binutils. Reviewers: dsanders Differential Revision: http://reviews.llvm.org/D18856 llvm-svn: 266055
-
Pavel Labath authored
llvm-svn: 266054
-
Johannes Doerfert authored
Collect the error domain contexts (formerly in the ErrorDomainCtxMap) for each statement in the new InvalidContext member variable. While this commit is basically a [NFC] it is a first step to make hoisting sound by allowing a more fine grained record of invalid contexts, e.g., here on statement level. llvm-svn: 266053
-
Alexey Bataev authored
The aligned clause declares that the object to which each list item points is aligned to the number of bytes expressed in the optional parameter of the aligned clause. 'aligned' '(' <argument-list> [ ':' <alignment> ] ')' The optional parameter of the aligned clause, alignment, must be a constant positive integer expression. If no optional parameter is specified, implementation-defined default alignments for SIMD instructions on the target platforms are assumed. The special this pointer can be used as if was one of the arguments to the function in any of the linear, aligned, or uniform clauses. llvm-svn: 266052
-
Johannes Doerfert authored
llvm-svn: 266051
-
Pavel Labath authored
Revert "Restore the lazy initialization of ScriptInterpreterPython, which was lost as part of the SystemLifetimeManager work" This change breaks python unit tests. This reverts commit 266033. llvm-svn: 266050
-
Stephan Bergmann authored
llvm-svn: 266049
-
Michael Zuckerman authored
llvm-svn: 266048
-
Mehdi Amini authored
This is intended to be shared by the ThinLTOCodeGenerator. Note that there is a change in the way the verifier is run, previously it was ran as a Pass on the merged module during internalization. While now the verifier is called explicitely on the merged module outside of the internalize "pass pipeline". What remains strange in the API is the fact that `DisableVerify` in the API does not disable this initial verifier. Differential Revision: http://reviews.llvm.org/D19000 From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266047
-
Mehdi Amini authored
From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 266046
-
Junmo Park authored
llvm-svn: 266045
-
Matthias Gehre authored
Summary: The Fix-Its for the added test cases were before: -void F11(const unsigned int /*version*/); +void F11(unsigned int int /*version*/); -void F12(const bool b = true); +void F12(_Bool true); Reviewers: fowles, hokein, sbenza, alexfh Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18993 llvm-svn: 266044
-
Matthias Gehre authored
Summary: The crash was reproduced by the included test case. It was initially found through a crash of clang-tidy's misc-misplaced-widening-cast check. Reviewers: klimek, alexfh Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D18991 llvm-svn: 266043
-
Saleem Abdulrasool authored
The structure definitions are not provided, but we perform a sizeof operation of them which causes a build failure. Include `asm/ptrace.h` to get the structure definitions. llvm-svn: 266042
-
Alexey Bataev authored
OpenMP 4.0 defines clause 'uniform' in 'declare simd' directive: 'uniform' '(' <argument-list> ')' The uniform clause declares one or more arguments to have an invariant value for all concurrent invocations of the function in the execution of a single SIMD loop. The special this pointer can be used as if was one of the arguments to the function in any of the linear, aligned, or uniform clauses. llvm-svn: 266041
-
Chuang-Yu Cheng authored
Resolve Bug 27046 (https://llvm.org/bugs/show_bug.cgi?id=27046). The PPCInstrInfo::optimizeCompareInstr function could create a new use of CR0, even if CR0 were previously dead. This patch marks CR0 live if a use of CR0 is created. Author: Tom Jablin (tjablin) Reviewers: hfinkel kbarton cycheng http://reviews.llvm.org/D18884 llvm-svn: 266040
-
Saleem Abdulrasool authored
The GNU profiling support indicates that the interface is `_mcount` rather than `mcount`. Conditionalise the behaviour according to the `-meabi gnu` flag. Resolves PR27311 llvm-svn: 266039
-
Chuang-Yu Cheng authored
In the ELFv2 ABI, we are not required to save all CR fields. If only one nonvolatile CR field is clobbered, use mfocrf instead of mfcr to selectively save the field, because mfocrf has short latency compares to mfcr. Thanks Nemanja's invaluable hint! Reviewers: nemanjai tjablin hfinkel kbarton http://reviews.llvm.org/D17749 llvm-svn: 266038
-
Rafael Espindola authored
The test changes are just because of the symbol order. llvm-svn: 266037
-
Matthias Braun authored
The missing end was also confusing the '{', '}' matching heuristics in vim. llvm-svn: 266036
-
Matthias Braun authored
llvm-svn: 266035
-
George Burgess IV authored
Apparently std::numeric_limits<unsigned>::max() isn't constexpr everywhere yet. llvm-svn: 266034
-
Enrico Granata authored
Restore the lazy initialization of ScriptInterpreterPython, which was lost as part of the SystemLifetimeManager work llvm-svn: 266033
-
George Burgess IV authored
`allocsize` is a function attribute that allows users to request that LLVM treat arbitrary functions as allocation functions. This patch makes LLVM accept the `allocsize` attribute, and makes `@llvm.objectsize` recognize said attribute. The review for this was split into two patches for ease of reviewing: D18974 and D14933. As promised on the revisions, I'm landing both patches as a single commit. Differential Revision: http://reviews.llvm.org/D14933 llvm-svn: 266032
-
Devin Coughlin authored
Don't emit a path note marking the return site if the return statement does not have a valid location. This fixes an assertion failure I introduced in r265839. llvm-svn: 266031
-
Quentin Colombet authored
llvm-svn: 266030
-
Quentin Colombet authored
registers. llvm-svn: 266029
-
Quentin Colombet authored
phis. llvm-svn: 266028
-