- Oct 28, 2013
-
-
Alp Toker authored
llvm-svn: 193552
-
Nick Kledzik authored
llvm-svn: 193551
-
Rui Ueyama authored
llvm-svn: 193550
-
Richard Smith authored
requires ! feature The purpose of this is to allow (for instance) the module map for /usr/include to exclude <tgmath.h> and <complex.h> when building in C++ (these headers are instead provided by the C++ standard library in this case, and the glibc C <tgmath.h> header would otherwise try to include <complex.h>, resulting in a module cycle). llvm-svn: 193549
-
Rafael Espindola authored
llvm-svn: 193548
-
Rafael Espindola authored
llvm-svn: 193547
-
Rafael Espindola authored
llvm-svn: 193546
-
Richard Smith authored
statement (after a case label, if, etc). Patch by Olivier Goffart! llvm-svn: 193545
-
Andrew Kaylor authored
llvm-svn: 193544
-
Bill Wendling authored
llvm-svn: 193543
-
Bill Wendling authored
llvm-svn: 193542
-
Bill Wendling authored
llvm-svn: 193541
-
Akira Hatanaka authored
No functionality change. llvm-svn: 193540
-
Rafael Espindola authored
llvm-svn: 193539
-
Rafael Espindola authored
llvm-svn: 193538
-
Rafael Espindola authored
llvm-svn: 193537
-
Rafael Espindola authored
llvm-svn: 193536
-
Lang Hames authored
an MCExpr, in order to avoid writing an encoded zero value in the immediate field. When getUnconditionalBranchTargetOpValue is called with an MCExpr target, we don't know what the final immediate field value should be. We shouldn't explicitly set the immediate field to an encoded zero value as zero is encoded with a non-zero bit pattern. This leads to bits being set that pollute the final immediate value. The nature of the encoding is such that the polluted bits only affect very large immediate values, explaining why this hasn't caused problems earlier. Fixes <rdar://problem/15155975>. llvm-svn: 193535
-
Rafael Espindola authored
llvm-svn: 193534
-
Rafael Espindola authored
llvm-svn: 193533
-
Rafael Espindola authored
llvm-svn: 193532
-
Jim Ingham authored
<rdar://problem/15208799> llvm-svn: 193530
-
Evgeniy Stepanov authored
llvm-svn: 193529
-
Rafael Espindola authored
With this patch we correctly determine that ubuntu's ARM tree is not biarch and use "lib" istead of "lib32". Without this patch the search inside the arm tree for the crt files was failing and we would end up trying to use the i686 ones in lib32. llvm-svn: 193528
-
Ahmed Bougacha authored
llvm-svn: 193527
-
Ahmed Bougacha authored
llvm-svn: 193526
-
Ahmed Bougacha authored
These used to be referenced by the CGI->AWI map (in AsmWriterEmitter), but stored in a vector local to EmitPrintInstruction. Move the vector to AsmWriterEmitter too. llvm-svn: 193525
-
Logan Chien authored
This commit allows the ARM integrated assembler to parse and assemble the code with .eabi_attribute, .cpu, and .fpu directives. To implement the feature, this commit moves the code from AttrEmitter to ARMTargetStreamers, and several new test cases related to cortex-m4, cortex-r5, and cortex-a15 are added. Besides, this commit also change the Subtarget->isFPOnlySP() to Subtarget->hasD16() to match the usage of .fpu directive. This commit changes the test cases: * Several .eabi_attribute directives in 2010-09-29-mc-asm-header-test.ll are removed because the .fpu directive already cover the functionality. * In the Cortex-A15 test case, the value for Tag_Advanced_SIMD_arch has be changed from 1 to 2, which is more precise. llvm-svn: 193524
-
Nuno Lopes authored
llvm-svn: 193523
-
Alexey Samsonov authored
llvm-svn: 193522
-
Richard Sandiford authored
useAA significantly improves the handling of vector code that has TBAA information attached. It also helps other cases, as shown by the testsuite changes here. The only real downside I've seen is that it interferes with MergeConsecutiveStores. The problem is that that optimization works top down, starting at the first store in the chain, and looks for cases where the chain result is only used by a single related store. These related stores don't alias, so useAA will have rewritten all the later stores to use a different chain input (typically the same one as the first store). I think the advantages outweigh the disadvantages though, so for now I've just disabled alias analysis for the unaligned-01.ll test. llvm-svn: 193521
-
Dmitry Vyukov authored
this makes the reports consistent with tsan, and much more readable. llvm-svn: 193520
-
Dmitry Vyukov authored
llvm-svn: 193519
-
Richard Sandiford authored
Making useAA() default to true for SystemZ showed that the combiner alias analysis wasn't handling volatile accesses. This hit many of the SystemZ tests, but I arbitrarily picked one for the purpose of this patch. llvm-svn: 193518
-
Richard Sandiford authored
Most SelectionDAG code drops the TBAA info when creating a new form of a load and store (e.g. during legalization, or when converting a plain load to an extending one). This patch tries to catch all cases where the TBAA information can legitimately be carried over. The patch adds alternative forms of getLoad() and getExtLoad() that take a MachineMemOperand instead of individual fields. (The corresponding getTruncStore() already exists.) The idea is to use the MachineMemOperand forms when all fields are carried over (size, pointer info, isVolatile, isNonTemporal, alignment and TBAA info). If some adjustment is being made, e.g. to narrow the load, then we still pass the individual fields but also pass the TBAA info. llvm-svn: 193517
-
Alp Toker authored
The error raised by Python varies by platform(!), so let's just catch any exception and fall back. Thanks to Sylvestre Ledru for noticing this on a Debian / Python 2.7 system running code coverage. llvm-svn: 193516
-
Alexander Potapenko authored
When building Clang with compiler-rt, copy the contents of compiler-rt/include/sanitizer into lib/clang/3.4/include/sanitizer llvm-svn: 193515
-
Benjamin Kramer authored
We can't do this for the general case as saying a GEP with a negative index doesn't have unsigned wrap isn't valid for negative indices. %gep = getelementptr inbounds i32* %p, i64 -1 But an inbounds GEP cannot run past the end of address space. So we check for the very common case of a positive index and make GEPs derived from that NUW. Together with Andy's recent non-unit stride work this lets us analyze loops like void foo3(int *a, int *b) { for (; a < b; a++) {} } PR12375, PR12376. Differential Revision: http://llvm-reviews.chandlerc.com/D2033 llvm-svn: 193514
-
NAKAMURA Takumi authored
llvm-svn: 193513
-
NAKAMURA Takumi authored
llvm-svn: 193512
-