- Nov 12, 2015
-
-
Dylan McKay authored
This adds part of the target info code, and adds modifications to the build scripts so that AVR is recognized a supported, experimental backend. It does not include any AVR-specific code, just the bare sources required for a backend to exist. From D14039. llvm-svn: 252865
-
Denis Protivensky authored
llvm-svn: 252864
-
James Molloy authored
This reverts commit r252862. This introduced test failures and I'm reverting while I investigate how this happened. llvm-svn: 252863
-
James Molloy authored
A function can be marked as norecurse if: * The SCC to which it belongs has cardinality 1; and either a) It does not call any non-norecurse function. This includes self-recursion; or b) It only has one callsite and the function that callsite is within is marked norecurse. a) is best propagated bottom-up and b) is best propagated top-down. We build up the norecurse attributes bottom-up using the existing SCC pass, and mark functions with no obvious recursion (but not provably norecurse) to sweep later, top-down. llvm-svn: 252862
-
Craig Topper authored
Use %select to merge two diagnostics that only differ in one word and are emitted in the same place. NFC llvm-svn: 252861
-
Tobias Grosser authored
IVs of loops for which the loop header is in the subregion, but not the entire loop may be incremented outside of the subregion and can consequently not be kept private to the subregion. Instead, they need to and are modeled as virtual loops in the iteration domains. As this is the case, generating new subregion induction variables for such loops is not needed and indeed wrong as they would hide the virtual induction variables modeled in the scop. This fixes a miscompile in MultiSource/Benchmarks/Ptrdist/bc and MultiSource/Benchmarks/nbench/. Thanks Michael and Johannes for their investiagations and helpful observations regarding this bug. llvm-svn: 252860
-
David Blaikie authored
I imagine there's some UB in here somewhere, though Valgrind doesn't seem to have picked it up (not sure if I have a working asan build right now to test there). GDB bot seems to be crashing: http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/26267/steps/check-all/logs/FAIL%3A%20LLVM%3A%3Adwarfdump-dwp.test Hexagon ELF bot is, presumably, just getting different output: http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/32927/steps/check-all/logs/FAIL%3A%20LLVM%3A%3Adwarfdump-dwp.test llvm-svn: 252859
-
Dan Gohman authored
This encompasses several changes which are all interconnected: - Use the MC framework for printing almost all instructions. - AsmStrings are now live. - This introduces an indirection between LLVM vregs and WebAssembly registers, and a new pass, WebAssemblyRegNumbering, for computing a basic the mapping. This addresses some basic issues with argument registers and unused registers. - The way ARGUMENT instructions are handled no longer generates redundant get_local+set_local for every argument. This also changes the assembly syntax somewhat; most notably, MC's printing use sigils on label names, so those are no longer present, and push/pop now have a sigil to keep them unambiguous. The usage of set_local/get_local/$push/$pop will continue to evolve significantly. This patch is just one step of a larger change. llvm-svn: 252858
-
Igor Kudrin authored
The MIPS target requires specific dynamic section entries to be defined. * DT_MIPS_RLD_VERSION and DT_MIPS_FLAGS store predefined values. * DT_MIPS_BASE_ADDRESS holds base VA. * DT_MIPS_LOCAL_GOTNO holds the number of local GOT entries. * DT_MIPS_SYMTABNO holds the number of .dynsym entries. * DT_MIPS_GOTSYM holds the index of the .dynsym entry which corresponds to the first entry of the global part of GOT. * DT_MIPS_RLD_MAP holds the address of the reserved space in the data segment. * DT_MIPS_PLTGOT points to the .got.plt section if it exists. * DT_PLTGOT holds the address of the GOT section. See "Dynamic Section" in Chapter 5 in the following document for detailed description: ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf Differential revision: http://reviews.llvm.org/D14450 llvm-svn: 252857
-
Mike Aizatsky authored
Summary: The option outputs statistics in CSV format preceded by 1 header line. This is intended for machine processing of the output. -verbosity=0 should likely be set. Differential Revision: http://reviews.llvm.org/D14600 llvm-svn: 252856
-
Nathan Wilson authored
llvm-svn: 252855
-
Igor Kudrin authored
The MIPS ABI has requirements to sort the entries in the .dyn.sym section. Symbols which are not in the GOT have to precede the symbols which are added to the GOT. The latter must have the same order as the corresponding GOT entries. Since these sorting requirements contradict those of the GNU hash section, they cannot be used together. Differential revision: http://reviews.llvm.org/D14281 llvm-svn: 252854
-
Saleem Abdulrasool authored
This function permits the mangling of a C++ 'structor. Depending on the ABI and the declaration, the declaration may contain more than one associated symbol for a given declaration. This allows the consumer to retrieve all of the associated symbols for the declaration the cursor points to. llvm-svn: 252853
-
Saleem Abdulrasool authored
This allows the return of a set of CXStrings from libclang. This is setup work for an upcoming change to permit returning multiple mangled symbols. llvm-svn: 252852
-
Johannes Doerfert authored
If an llvm.assume dominates the SCoP entry block and the assumed condition can be expressed as an affine inequality we will now add it to the context. Differential Revision: http://reviews.llvm.org/D14413 llvm-svn: 252851
-
Akira Hatanaka authored
The code snippets were not being displayed. This commit fixes the bug. llvm-svn: 252849
-
Johannes Doerfert authored
Differential Revision: http://reviews.llvm.org/D14412 llvm-svn: 252848
-
Johannes Doerfert authored
llvm-svn: 252847
-
Johannes Doerfert authored
This removes a similar feature from ScopDetection, though with -polly-report that feature present twice anyway. llvm-svn: 252846
-
David Blaikie authored
llvm-svn: 252845
-
David Blaikie authored
llvm-svn: 252843
-
David Blaikie authored
llvm-svn: 252842
-
Ted Kremenek authored
llvm-svn: 252841
-
David Blaikie authored
llvm-svn: 252840
-
Matthias Braun authored
- Factor out code to query and modify the sign bit of a floatingpoint value as an integer. This also works if none of the targets integer types is big enough to hold all bits of the floatingpoint value. - Legalize FABS(x) as FCOPYSIGN(x, 0.0) if FCOPYSIGN is available, otherwise perform bit manipulation on the sign bit. The previous code used "x >u 0 ? x : -x" which is incorrect for x being -0.0! It also takes 34 instructions on ARM Cortex-M4. With this patch we only require 5: vldr d0, LCPI0_0 vmov r2, r3, d0 lsrs r2, r3, #31 bfi r1, r2, #31, #1 bx lr (This could be further improved if the compiler would recognize that r2, r3 is zero). - Only lower FCOPYSIGN(x, y) = sign(x) ? -FABS(x) : FABS(x) if FABS is available otherwise perform bit manipulation on the sign bit. - Perform the sign(x) test by masking out the sign bit and comparing with 0 rather than shifting the sign bit to the highest position and testing for "<s 0". For x86 copysignl (on 80bit values) this gets us: testl $32768, %eax rather than: shlq $48, %rax sets %al testb %al, %al Differential Revision: http://reviews.llvm.org/D11172 llvm-svn: 252839
-
Kostya Serebryany authored
llvm-svn: 252838
-
Manman Ren authored
Calls involved in thread-local variable lookup save more registers than normal calls. rdar://problem/23073171 llvm-svn: 252837
-
Argyrios Kyrtzidis authored
Also don't create libclang dylib symlinks on darwin. llvm-svn: 252836
-
David Blaikie authored
llvm-svn: 252835
-
Eric Christopher authored
target features that the caller function doesn't provide. This matches the existing backend failure to inline functions that don't have matching target features - and diagnoses earlier in the case of always_inline. Fix up a few test cases that were, in fact, invalid if you tried to generate code from the backend with the specified target features and add a couple of tests to illustrate what's going on. This should fix PR25246. llvm-svn: 252834
-
Eric Christopher authored
more obvious that it's generic. llvm-svn: 252833
-
Eric Christopher authored
checkBuiltinTargetFeatures to checkTargetFeatures and sink the error handling into the function. llvm-svn: 252832
-
Dawn Perchik authored
llvm-svn: 252831
-
David Blaikie authored
llvm-svn: 252830
-
Xinliang David Li authored
llvm-svn: 252829
-
Vedant Kumar authored
llvm-svn: 252828
-
Nathan Wilson authored
Summary: Diagnose when a function concept declaration has parameter(s) Reviewers: rsmith, faisalv, aaron.ballman, hubert.reinterpretcast Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14352 llvm-svn: 252827
-
Quentin Colombet authored
Differential Revision: http://reviews.llvm.org/D14357 rdar://problem/21942589 llvm-svn: 252825
-
Reid Kleckner authored
For really simple SEH catchpads, we tried to forward the invoke unwind edge across the empty block. llvm-svn: 252822
-
Manman Ren authored
rdar://problem/9001553 llvm-svn: 252820
-