- Oct 31, 2012
-
-
Hans Wennborg authored
By propagating the value for the switch condition, LLVM can now build lookup tables for code such as: switch (x) { case 1: return 5; case 2: return 42; case 3: case 4: case 5: return x - 123; default: return 123; } Given that x is known for each case, "x - 123" becomes a constant for cases 3, 4, and 5. llvm-svn: 167115
-
Simon Atanasyan authored
is not a directory, Driver::GetProgramPath() routine does not try to append the program name as a "path component" to it. It just joins the "prefix" with the program name and checks the resulting path existence. The patch reviewed by Rafael Espindola. llvm-svn: 167114
-
Benjamin Kramer authored
llvm-svn: 167113
-
Benjamin Kramer authored
I'm not entirely happy with this solution, but I don't see a smarter way currently. Fixes PR14214. llvm-svn: 167112
-
Evgeniy Stepanov authored
llvm-svn: 167111
-
Benjamin Kramer authored
This makes the code match the comments. Resolves a crash in loop idiom (PR14219). llvm-svn: 167110
-
James Molloy authored
Patch by Pete Chou! llvm-svn: 167109
-
James Molloy authored
No testcase, as this is only testable on a C-A15 board. llvm-svn: 167108
-
Reed Kotler authored
llvm-svn: 167107
-
Craig Topper authored
llvm-svn: 167106
-
Meador Inge authored
This patch migrates the strpbrk optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167105
-
Michael Liao authored
llvm-svn: 167104
-
Meador Inge authored
This patch migrates the strlen optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167103
-
Meador Inge authored
This patch migrates the strncpy optimizations from the simplify-libcalls pass into the instcombine library call simplifier. llvm-svn: 167102
-
Nadav Rotem authored
llvm-svn: 167101
-
Rafael Espindola authored
llvm-svn: 167100
-
Anna Zaks authored
llvm-svn: 167099
-
Rafael Espindola authored
llvm-svn: 167098
-
Sean Callanan authored
that confused external clients. <rdar://problem/12599528> llvm-svn: 167097
-
Sean Callanan authored
Headers build phase. llvm-svn: 167096
-
Sean Callanan authored
CXXMethodDecl but tried to manipulate it anyway. <rdar://problem/12601996> llvm-svn: 167095
-
Jason Molenda authored
so it is recognized correctly. The second patch needed for <rdar://problem/10652166>. llvm-svn: 167094
-
Rafael Espindola authored
llvm-svn: 167093
-
Anna Zaks authored
IdentifierInfo. Ee: C++ copy constructors. llvm-svn: 167092
-
Anna Zaks authored
llvm-svn: 167091
-
Bill Schmidt authored
parameters. Examples of these are: struct { } a; union { } b[256]; int a[0]; An empty aggregate has an address, although dereferencing that address is pointless. When passed as a parameter, an empty aggregate does not consume a protocol register, nor does it consume a doubleword in the parameter save area. Passing an empty aggregate by reference passes an address just as for any other aggregate. Returning an empty aggregate uses GPR3 as a hidden address of the return value location, just as for any other aggregate. The patch modifies PPCTargetLowering::LowerFormalArguments_64SVR4 and PPCTargetLowering::LowerCall_64SVR4 to properly skip empty aggregate parameters passed by value. The handling of return values and by-reference parameters was already correct. Built on powerpc64-unknown-linux-gnu and tested with no new regressions. A test case is included to test proper handling of empty aggregate parameters on both sides of the function call protocol. llvm-svn: 167090
-
Seth Cantrell authored
llvm-svn: 167089
-
Akira Hatanaka authored
type MachineInstr* and MachineBasicBlock::iterator. llvm-svn: 167088
-
Rafael Espindola authored
Patch by Kai. llvm-svn: 167087
-
Akira Hatanaka authored
llvm-svn: 167086
-
Rafael Espindola authored
Patch by Kai! llvm-svn: 167085
-
Nadav Rotem authored
This is important for loops in the LAPACK test-suite. These loops start at 1 because they are auto-converted from fortran. llvm-svn: 167084
-
Meador Inge authored
This patch migrates the stpcpy optimizations from the simplify-libcalls pass into the instcombine library call simplifier. Note that the __stpcpy_chk simplifications were migrated in a previous commit. llvm-svn: 167083
-
Meador Inge authored
r166198 migrated the strcpy optimization to instcombine. The strcpy simplifier that was migrated from Transforms/Scalar/SimplifyLibCalls.cpp was also doing some __strcpy_chk simplifications. Those fortified simplifications were migrated as well, but introduced a bug in the __stpcpy_chk simplifier in the process. This happened because the __strcpy_chk and __stpcpy_chk simplifiers were both mapped to StrCpyChkOpt which was updated with simplifications that worked for __strcpy_chk, but not __stpcpy_chk. This patch fixes the problem by adding proper test coverage and creating a new simplifier for __stpcpy_chk (instead of sharing one with __strcpy_chk). llvm-svn: 167082
-
rdar://problem/12586188Enrico Granata authored
<rdar://problem/12586188> Make ImportError a special case for "command script import", such that the error message for the exception becomes the error for the entire import operation and silence the backtrace printout In the process, refactor the Execute* commands in ScriptInterpreter to take an options object, and add a new setting to not mask out errors so that the callers can handle them directly instead of having the default behavior llvm-svn: 167067
-
rdar://problem/12602978Greg Clayton authored
RegisterContextKDP_i386 was not correctly writing registers due to missing "virtual" keywords. Added the virtual keywords and made the functions pure virtual to ensure subclasses can't get away without implementing these functions. llvm-svn: 167066
-
Greg Clayton authored
llvm-svn: 167065
-
Manman Ren authored
the first source operand is tied to the destination operand. This is to accurately model the corresponding instructions where the upper bits are unmodified. rdar://12558838 PR14221 llvm-svn: 167064
-
Seth Cantrell authored
invalid but not caught by isLegalUTF8(): 0xED 0x75 0x84 llvm-svn: 167063
-
Rafael Espindola authored
llvm-svn: 167062
-