- May 03, 2013
-
-
Adrian Prantl authored
Un-break the gdb buildbot. - Use the debug location of the return expression for the cleanup code if the return expression is trivially evaluatable, regardless of the number of stop points in the function. - Ensure that any EH code in the cleanup still gets the line number of the closing } of the lexical scope. - Added a testcase with EH in the cleanup. rdar://problem/13442648 llvm-svn: 181056
-
Ashok Thirumurthi authored
- Decouples RegisterContext_x86_64 from UserArea. - Restores the original definition of UserArea so that it can be used to generate offsets for use with ptrace. - Moves UserArea to the 64-bit Linux specialization. - Also fixes an off-by-one error for the size of m_gpr. - Also adds a TODO comment noting the need for a mechanism to identify the correct plugin based on the target OS (and architecture). Reviewed by: Matt Kopec and Samuel Jacob llvm-svn: 181055
-
Ulrich Weigand authored
[PowerPC] Avoid using '$' in generated assembler code PowerPC assemblers are supposed to support a stand-alone '$' symbol as an alternative of '.' to refer to the current PC. This does not work in the LLVM assembler parser yet. To avoid bootstrap failures when using the LLVM assembler as system assembler, this patch modifies the assembler source code generated by LLVM to avoid using '$' (and simply use '.' instead). llvm-svn: 181054
-
Ulrich Weigand authored
[PowerPC] Parse platform-specifc variant kinds in AsmParser This patch adds support for PowerPC platform-specific variant kinds in MCSymbolRefExpr::getVariantKindForName, and also adds a test case to verify they are translated to the appropriate fixup type. llvm-svn: 181053
-
Ulrich Weigand authored
[PowerPC] Add some Book II instructions to AsmParser This patch adds a couple of Book II instructions (isync, icbi) to the PowerPC assembler parser. These are needed when bootstrapping clang with the integrated assembler forced on, because they are used in inline asm statements in the code base. The test case adds the full list of Book II storage control instructions, including associated extended mnemonics. Again, those that are not yet supported as marked as FIXME. llvm-svn: 181052
-
Ulrich Weigand authored
[PowerPC] Support extended mnemonics in AsmParser This patch adds infrastructure to support extended mnemonics in the PowerPC assembler parser. It adds support specifically for those extended mnemonics that LLVM will itself generate. The test case lists *all* extended mnemonics according to the PowerPC ISA v2.06 Book I, but marks those not yet supported as FIXME. llvm-svn: 181051
-
Ulrich Weigand authored
[PowerPC] Add assembler parser This adds assembler parser support to the PowerPC back end. The parser will run for any powerpc-*-* and powerpc64-*-* triples, but was tested only on 64-bit Linux. The supported syntax is intended to be compatible with the GNU assembler. The parser does not yet support all PowerPC instructions, but it does support anything that is generated by LLVM itself. There is no support for testing restricted instruction sets yet, i.e. the parser will always accept any instructions it knows, no matter what feature flags are given. Instruction operands will be checked for validity and errors generated. (Error handling in general could still be improved.) The patch adds a number of test cases to verify instruction and operand encodings. The tests currently cover all instructions from the following PowerPC ISA v2.06 Book I facilities: Branch, Fixed-point, Floating-Point, and Vector. Note that a number of these instructions are not yet supported by the back end; they are marked with FIXME. A number of follow-on check-ins will add extra features. When they are all included, LLVM passes all tests (including bootstrap) when using clang -cc1as as the system assembler. llvm-svn: 181050
-
Andrew Kaylor authored
llvm-svn: 181049
-
Ben Langmuir authored
Add serialization for captured statements and captured decls. Also add a const_capture_iterator to CapturedStmt. Test contributed by Wei Pan Differential Revision: http://llvm-reviews.chandlerc.com/D727 llvm-svn: 181048
-
Shuxin Yang authored
Decompose GVN::processNonLocalLoad() (about 400 LOC) into smaller helper functions. No function change. This function consists of following steps: 1. Collect dependent memory accesses. 2. Analyze availability. 3. Perform fully redundancy elimination, or 4. Perform PRE, depending on the availability Step 2, 3 and 4 are now moved to three helper routines. llvm-svn: 181047
-
Richard Smith authored
PR15906: The body of a lambda is not an evaluated subexpression; don't visit it when visiting such subexpressions. llvm-svn: 181046
-
Enrico Granata authored
llvm-svn: 181045
-
rdar://problem/13749871Enrico Granata authored
Improvements to the std::map data formatter to recognize when invalid memory is being explored and bail out instead of looping for a potentially very long time llvm-svn: 181044
-
Ben Langmuir authored
Move the creation of CapturedStmt parameters out of CodeGen and into Sema, making it easier to customize the outlined function. The ImplicitParamDecls are stored in the CapturedDecl using an ASTContext-allocated array. Differential Revision: http://llvm-reviews.chandlerc.com/D722 llvm-svn: 181043
-
Douglas Gregor authored
llvm-svn: 181042
-
Akira Hatanaka authored
its fields. This removes false dependencies between DSP instructions which access different fields of the the control register. Implicit register operands are added to instructions RDDSP and WRDSP after instruction selection, depending on the value of the mask operand. llvm-svn: 181041
-
Ted Kremenek authored
[analyzer] Start hacking up alternate control-flow edge generation. WIP. Not guaranteed to do anything useful yet. llvm-svn: 181040
-
Argyrios Kyrtzidis authored
llvm-svn: 181039
-
Nadav Rotem authored
By supporting the vectorization of PHINodes with more than two incoming values we can increase the complexity of nested if statements. We can now vectorize this loop: int foo(int *A, int *B, int n) { for (int i=0; i < n; i++) { int x = 9; if (A[i] > B[i]) { if (A[i] > 19) { x = 3; } else if (B[i] < 4 ) { x = 4; } else { x = 5; } } A[i] = x; } } llvm-svn: 181037
-
Tom Stellard authored
llvm-svn: 181035
-
Tom Stellard authored
llvm-svn: 181034
-
Tom Stellard authored
This can be optimized using the BFI_INT instruction. llvm-svn: 181033
-
Tom Stellard authored
llvm-svn: 181032
-
John McCall authored
checking for a lambda. Thanks to Jordan for the pointer. llvm-svn: 181031
-
Edwin Vane authored
It is preferable for a unit test to be responsible for creating its own input data instead of relying on checked-in data files. Now the IncludeExcludeTest for cpp11-migrate does this. - Removed old data files. - Updated build system and lit files to remove references to old data files. llvm-svn: 181029
-
Greg Clayton authored
llvm-svn: 181028
-
Ashok Thirumurthi authored
Reviewed by: Daniel Malea llvm-svn: 181027
-
Benjamin Kramer authored
Should fix PR15877. llvm-svn: 181026
-
Tobias Grosser authored
llvm-svn: 181025
-
Sylvestre Ledru authored
llvm-svn: 181024
-
Hans Wennborg authored
git-svn accidentally added these for me. llvm-svn: 181023
-
Dmitri Gribenko authored
Patch by Robert Wilhelm. llvm-svn: 181022
-
Rafael Espindola authored
Clang always calls setWarnOnSpellCheck, but we shouldn't require every client to do so. Issue noticed by Enea Zaffanella. llvm-svn: 181021
-
Daniel Jasper authored
Before: for (int i = 0;(i < 10); ++i) {} After: for (int i = 0; (i < 10); ++i) {} llvm-svn: 181020
-
Benjamin Kramer authored
llvm-svn: 181019
-
Ashok Thirumurthi authored
llvm-svn: 181018
-
Daniel Jasper authored
Before: for (; a&& b;) {} After: for (; a && b;) {} llvm-svn: 181017
-
Richard Sandiford authored
The soon-to-be-committed SystemZ port uses 128-bit IEEE floats. MIPS64 GNU/Linux does too (albeit with unusual NaNs). llvm-svn: 181016
-
Richard Sandiford authored
Another step towards reinstating the SystemZ backend. I'll commit the configure changes separately (TARGET_HAS_JIT etc.), then commit a patch to enable the MCJIT tests on SystemZ. llvm-svn: 181015
-
Dmitri Gribenko authored
Patch by Ismail Pazarbasi. llvm-svn: 181011
-