- Mar 07, 2014
-
-
Dmitri Gribenko authored
llvm-svn: 203246
-
Benjamin Kramer authored
llvm-svn: 203243
-
Benjamin Kramer authored
No functionality change. llvm-svn: 203242
-
Richard Sandiford authored
The target was marking SIGN_EXTEND as Custom because it wanted to optimize certain sign-extended shifts. In all other respects the extension is Legal, so it'd be better to do the optimization in PerformDAGCombine instead. No functional change intended. llvm-svn: 203234
-
Tim Northover authored
This helps the instruction selector to lower an i64 * i64 -> i128 multiplication into a single instruction on targets which support it. Patch by Manuel Jacob. llvm-svn: 203230
-
Tim Northover authored
Sequences of insertelement/extractelements are sometimes used to build vectorsr; this code tries to put them back together into shuffles, but could only produce a completely uniform shuffle types (<N x T> from two <N x T> sources). This should allow shuffles with different numbers of elements on the input and output sides as well. llvm-svn: 203229
-
Ahmed Charles authored
This changes the interface to be more explicit that ownership is being transferred. llvm-svn: 203223
-
Craig Topper authored
llvm-svn: 203221
-
Craig Topper authored
llvm-svn: 203220
-
Alexey Volkov authored
Differential Revision: http://llvm-reviews.chandlerc.com/D2982 llvm-svn: 203218
-
Alexey Volkov authored
Removed whitespace llvm-svn: 203216
-
David Majnemer authored
Summary: llvm/MC/MCSectionMachO.h and llvm/Support/MachO.h both had the same definitions for the section flags. Instead, grab the definitions out of support. No functionality change. Reviewers: grosbach, Bigcheese, rafael Reviewed By: rafael CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2998 llvm-svn: 203211
-
Ahmed Charles authored
llvm-svn: 203206
-
Rafael Espindola authored
The old system was fairly convoluted: * A temporary label was created. * A single PROLOG_LABEL was created with it. * A few MCCFIInstructions were created with the same label. The semantics were that the cfi instructions were mapped to the PROLOG_LABEL via the temporary label. The output position was that of the PROLOG_LABEL. The temporary label itself was used only for doing the mapping. The new CFI_INSTRUCTION has a 1:1 mapping to MCCFIInstructions and points to one by holding an index into the CFI instructions of this function. I did consider removing MMI.getFrameInstructions completelly and having CFI_INSTRUCTION own a MCCFIInstruction, but MCCFIInstructions have non trivial constructors and destructors and are somewhat big, so the this setup is probably better. The net result is that we don't create temporary labels that are never used. llvm-svn: 203204
-
Rafael Espindola authored
llvm-svn: 203203
-
Rafael Espindola authored
llvm-svn: 203202
-
Rafael Espindola authored
llvm-svn: 203199
-
Karthik Bhat authored
llvm-svn: 203198
-
Rafael Espindola authored
Patch by Manuel Jacob. llvm-svn: 203197
-
David Blaikie authored
llvm-svn: 203192
-
Eric Christopher authored
llvm-svn: 203191
-
Eric Christopher authored
llvm-svn: 203190
-
David Blaikie authored
This removes a relocation from each subprogram, reducing link times, etc. llvm-svn: 203187
-
David Blaikie authored
llvm-svn: 203186
-
David Blaikie authored
llvm-svn: 203184
-
Owen Anderson authored
llvm-svn: 203181
-
Saleem Abdulrasool authored
That was overly aggressive in assuming that we could always assume COFF. Some of the tests assume that they will get ELF rather than COFF even on Windows where the default is COFF. llvm-svn: 203176
-
- Mar 06, 2014
-
-
Rafael Espindola authored
Clang now uses llvm.compiler.used for these cases. llvm-svn: 203174
-
Rafael Espindola authored
llvm-svn: 203173
-
Ted Kremenek authored
llvm-svn: 203171
-
Argyrios Kyrtzidis authored
Reid Kleckner pointed out that we can't use symbolic links on Windows. llvm-svn: 203162
-
Saleem Abdulrasool authored
This is a preliminary setup change to support a renaming of Windows target triples. Split the object file format information out of the environment into a separate entity. Unfortunately, file format was previously treated as an environment with an unknown OS. This is most obvious in the ARM subtarget where the handling for macho on an arbitrary platform switches to AAPCS rather than APCS (as per Apple's needs). llvm-svn: 203160
-
Saleem Abdulrasool authored
Windows always uses COFF unless Windows ELF is in use. Rather than checking if Windows, MinGW, or Cygwin is being targeted, just check if the target OS is windows and that it is not an ELF environment. llvm-svn: 203159
-
Andrea Di Biagio authored
This patch teaches the DAGCombiner how to fold a binary OR between two shufflevector into a single shuffle vector when possible. The rules are: 1. fold (or (shuf A, V_0, MA), (shuf B, V_0, MB)) -> (shuf A, B, Mask1) 2. fold (or (shuf A, V_0, MA), (shuf B, V_0, MB)) -> (shuf B, A, Mask2) The DAGCombiner can take advantage of the fact that OR is commutative and compute two possible shuffle masks (Mask1 and Mask2) for the resulting shuffle node. Before folding a dag according to either rule 1 or 2, DAGCombiner verifies that the resulting shuffle mask is legal for the target. DAGCombiner would firstly try to fold according to 1.; If not possible then it will try to fold according to 2. If both Mask1 and Mask2 are illegal then we conservatively don't fold the OR instruction. llvm-svn: 203156
-
Rafael Espindola authored
llvm-svn: 203155
-
Rafael Espindola authored
Despite the name, n_type contains the type of the symbol, but also if it is extern or private extern. llvm-svn: 203154
-
Rafael Espindola authored
llvm-svn: 203152
-
Eric Christopher authored
llvm-svn: 203150
-
Reid Kleckner authored
Fixes PR18994. Tests, once again, in that other repository. =P llvm-svn: 203146
-
Reid Kleckner authored
This reverts commits r203136, r203137, and r203138. This code doesn't build on Windows. Even on Vista+, Windows requires elevated privileges to create a symlink. Therefore we can't use symlinks in the compiler. We'll have to find another approach. llvm-svn: 203143
-