- Dec 20, 2010
-
-
Douglas Gregor authored
the list traversal. Part 1, no functionality change. llvm-svn: 122252
-
Douglas Gregor authored
a parameter pack, check the parameter pack against each of the template arguments it corresponds to, then pack the converted arguments into a template argument pack. Allows us to use variadic class templates so long as instantiation isn't required, e.g., template<typename... Types> struct Tuple; Tuple<int, float> *t2; llvm-svn: 122251
-
Douglas Gregor authored
area of printing template arguments. The functionality changes here are limited to cases of variadic templates that aren't yet enabled. llvm-svn: 122250
-
Benjamin Kramer authored
llvm-svn: 122249
-
Benjamin Kramer authored
Teach InstCombine to merge (icmp ult (X + CA), C1) | (icmp eq X, C2) into (icmp ult (X + CA), C1 + 1) if C2 + CA == C1. InstCombine creates these so now we compile x == 23 || x == 24 || x == 25 to %x.off = add i32 %x, -23 %1 = icmp ult i32 %x.off, 3 instead of %x.off = add i32 %x, -23 %1 = icmp ult i32 %x.off, 2 %cmp3 = icmp eq i32 %x, 25 %ret2 = or i1 %1, %cmp3 llvm-svn: 122248
-
Daniel Dunbar authored
llvm-svn: 122247
-
Daniel Dunbar authored
llvm-svn: 122246
-
Duncan Sands authored
(they had just been forgotten before). Adding Xor causes "main" in the existing testcase 2010-11-01-lshr-mask.ll to be hugely more simplified. llvm-svn: 122245
-
Michael J. Spencer authored
llvm-svn: 122244
-
Michael J. Spencer authored
llvm-svn: 122243
-
Duncan Sands authored
llvm-svn: 122242
-
Duncan Sands authored
mayBeOverridden. llvm-svn: 122241
-
Oscar Fuentes authored
revision id is appended to the LLVM version string. Defaults to OFF. Until now the VC revision id was always appended to the revision string whenever cmake was invoked (either explicitly or implicitly because a cmake source file changed). This was causing massive recompilations because config.h are reconfigured with the new contents of PACKAGE_VERSION. llvm-svn: 122240
-
Oscar Fuentes authored
llvm-svn: 122239
-
Chris Lattner authored
llvm-svn: 122238
-
Chris Lattner authored
llvm-svn: 122237
-
Chris Lattner authored
to make sure that the reused alloca has sufficient alignment. llvm-svn: 122236
-
Chris Lattner authored
llvm-svn: 122235
-
Chris Lattner authored
argument. The generated alloca has to have at least the alignment of the byval, if not, the client may be making assumptions that the new alloca won't satisfy. llvm-svn: 122234
-
Chris Lattner authored
llvm-svn: 122233
-
Chris Lattner authored
llvm-svn: 122232
-
Francois Pichet authored
Remove a line: this test is line position sensitive. llvm-svn: 122231
-
Francois Pichet authored
llvm-svn: 122230
-
Francois Pichet authored
XFAIL for now, I'll investigate why later. llvm-svn: 122229
-
Cameron Zwarich authored
out-edges. Fixes PR8824. llvm-svn: 122228
-
Francois Pichet authored
I have no idea how to fix it. llvm-svn: 122227
-
Francois Pichet authored
llvm-svn: 122226
-
Cameron Zwarich authored
begin at DEF slots. Fixes the second half of PR8813. llvm-svn: 122225
-
Cameron Zwarich authored
llvm-svn: 122224
-
Douglas Gregor authored
pack expansions, e.g. given template<typename... Types> struct tuple; template<typename... Types> struct tuple_of_refs { typedef tuple<Types&...> types; }; the type of the "types" typedef is a PackExpansionType whose pattern is Types&. This commit introduces support for creating pack expansions for template type arguments, as above, but not for any other kind of pack expansion, nor for any form of instantiation. llvm-svn: 122223
-
Chris Lattner authored
llvm-svn: 122222
-
Chris Lattner authored
ARM (and other 32-bit-only) targets support for i8 and i16 overflow multiplies. The generated code isn't great, but this at least fixes CodeGen/Generic/overflow.ll when running on ARM hosts. llvm-svn: 122221
-
Francois Pichet authored
llvm-svn: 122220
-
Chris Lattner authored
the same as setcc. Optimize ADDC(0,0,FLAGS) -> SET_CARRY(FLAGS). This is a step towards finishing off PR5443. In the testcase in that bug we now get: movq %rdi, %rax addq %rsi, %rax sbbq %rcx, %rcx testb $1, %cl setne %dl ret instead of: movq %rdi, %rax addq %rsi, %rax movl $0, %ecx adcq $0, %rcx testq %rcx, %rcx setne %dl ret llvm-svn: 122219
-
Cameron Zwarich authored
the register; it may be a dead def instead. Fixes PR8820. llvm-svn: 122218
-
Chris Lattner authored
doesn't, match it back to setb. On a 64-bit version of the testcase before we'd get: movq %rdi, %rax addq %rsi, %rax sbbb %dl, %dl andb $1, %dl ret now we get: movq %rdi, %rax addq %rsi, %rax setb %dl ret llvm-svn: 122217
-
Mon P Wang authored
llvm-svn: 122216
-
Mon P Wang authored
llvm-svn: 122215
-
Chris Lattner authored
llvm-svn: 122214
-
Chris Lattner authored
their carry depenedencies with MVT::Flag operands) and use clean and beautiful EFLAGS dependences instead. We do this by changing the modelling of SBB/ADC to have EFLAGS input and outputs (which is what requires the previous scheduler change) and change X86 ISelLowering to custom lower ADDC and friends down to X86ISD::ADD/ADC/SUB/SBB nodes. With the previous series of changes, this causes no changes in the testsuite, woo. llvm-svn: 122213
-