- May 03, 2013
-
-
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
-
Ulrich Weigand authored
[SystemZ] Support System Z as host architecture The llvm::sys::AddSignalHandler function (as well as related routines) in lib/Support/Unix/Signals.inc currently registers a signal handler routine via "sigaction". When this handler is called due to a SIGSEGV, SIGILL or similar signal, it will show a stack backtrace, deactivate the handler, and then simply return to the operating system. The intent is that the OS will now retry execution at the same location as before, which ought to again trigger the same error condition and cause the same signal to be delivered again. Since the hander is now deactivated, the OS will take its default action (usually, terminate the program and possibly create a core dump). However, this method doesn't work reliably on System Z: With certain signals (namely SIGILL, SIGFPE, and SIGTRAP), the program counter stored by the kernel on the signal stack frame (which is the location where execution will resume) is not the instruction that triggered the fault, but then instruction *after it*. When the LLVM signal handler simply returns to the kernel, execution will then resume at *that* address, which will not trigger the problem again, but simply go on and execute potentially unrelated code leading to random errors afterwards. To fix this, the patch simply goes and re-raises the signal in question directly from the handler instead of returning from it. This is done only on System Z and only for those signals that have this particular problem. llvm-svn: 181010
-
Amara Emerson authored
Build attribute sections can now be read if they exist via ELFObjectFile, and the llvm-readobj tool has been extended with an option to dump this information if requested. Regression tests are also included which exercise these features. Also update the docs with a fixed ARM ABI link and a new link to the Addenda which provides the build attributes specification. llvm-svn: 181009
-
Richard Sandiford authored
Another step towards reinstating the SystemZ backend. Tests will be included in the main backend patch. llvm-svn: 181008
-
Richard Sandiford authored
First step towards reinstating the SystemZ backend. Tests will be included in the main backend patch. llvm-svn: 181007
-
Benjamin Kramer authored
llvm-svn: 181006
-
Benjamin Kramer authored
llvm-svn: 181005
-
Hans Wennborg authored
MSVC provides __wchar_t, either as an alias for the built-in wchar_t type, or as a separate type depending on language (C vs C++) and flags (-fno-wchar). In -fms-extensions, Clang will simply accept __wchar_t as an alias for whatever type is used for wide character literals. In -fms-compatibility, we try to mimic MSVC's behavior by always making __wchar_t a builtin type. This fixes PR15815. llvm-svn: 181004
-
Pekka Jaaskelainen authored
llvm-svn: 181001
-
John McCall authored
a lambda. Bug #1 is that CGF's CurFuncDecl was "stuck" at lambda invocation functions. Fix that by generally improving getNonClosureContext to look through lambdas and captured statements but only report code contexts, which is generally what's wanted. Audit uses of CurFuncDecl and getNonClosureAncestor for correctness. Bug #2 is that lambdas weren't specially mapping 'self' when inside an ObjC method. Fix that by removing the requirement for that and using the normal EmitDeclRefLValue path in LoadObjCSelf. rdar://13800041 llvm-svn: 181000
-