- Mar 05, 2011
-
-
Andrew Trick authored
regs. This is the only change in this checkin that may affects the default scheduler. With better register tracking and heuristics, it doesn't make sense to artificially lower the register limit so much. Added -sched-high-latency-cycles and X86InstrInfo::isHighLatencyDef to give the scheduler a way to account for div and sqrt on targets that don't have an itinerary. It is currently defaults to 10 (the actual number doesn't matter much), but only takes effect on non-default schedulers: list-hybrid and list-ilp. Added several heuristics that can be individually disabled for the non-default sched=list-ilp mode. This helps us determine how much better we can do on a given benchmark than the default scheduler. Certain compute intensive loops run much faster in this mode with the right set of heuristics, and it doesn't seem to have much negative impact elsewhere. Not all of the heuristics are needed, but we still need to experiment to decide which should be disabled by default for sched=list-ilp. llvm-svn: 127067
-
Andrew Trick authored
llvm-svn: 127065
-
- Mar 04, 2011
-
-
Eli Friedman authored
llvm-svn: 126970
-
- Mar 03, 2011
-
-
Tilmann Scheller authored
llvm-svn: 126934
-
- Mar 02, 2011
-
-
Tilmann Scheller authored
llvm-svn: 126862
-
David Greene authored
missing patterns for them. Add a SIMD test subdirectory to hold tests for SIMD instruction selection correctness and quality. ' llvm-svn: 126845
-
- Mar 01, 2011
-
-
Duncan Sands authored
llvm-svn: 126780
-
- Feb 28, 2011
-
-
Chris Lattner authored
llvm-svn: 126682
-
David Greene authored
[AVX] Add decode support for VUNPCKLPS/D instructions, both 128-bit and 256-bit forms. Because the number of elements in a vector does not determine the vector type (4 elements could be v4f32 or v4f64), pass the full type of the vector to decode routines. llvm-svn: 126664
-
- Feb 27, 2011
-
-
Benjamin Kramer authored
llvm-svn: 126578
-
NAKAMURA Takumi authored
Target/X86: Always emit "push/pop GPRs" in prologue/epilogue and emit "spill/reload frames" for XMMs. It improves Win64's prologue/epilogue but it would not affect ia32 and amd64 (lack of nonvolatile XMMs). llvm-svn: 126568
-
- Feb 25, 2011
-
-
Owen Anderson authored
llvm-svn: 126518
-
Cameron Zwarich authored
llvm-svn: 126488
-
- Feb 24, 2011
-
-
Chris Lattner authored
llvm-svn: 126441
-
Devang Patel authored
Patch by Nathan Jeffords! llvm-svn: 126425
-
Evan Cheng authored
operands starts at index 2, not 1. rdar://9045024 PR9305 llvm-svn: 126359
-
- Feb 23, 2011
-
-
David Greene authored
[AVX] General VUNPCKL codegen support. llvm-svn: 126264
-
- Feb 22, 2011
-
-
Joerg Sonnenberger authored
llvm-svn: 126244
-
Roman Divacky authored
llvm-svn: 126226
-
Joerg Sonnenberger authored
From Dimitry Andric. llvm-svn: 126168
-
Rafael Espindola authored
Patch by Jai Menon. llvm-svn: 126165
-
Devang Patel authored
In other words, do not keep track of argument's location. The debugger (gdb) is not prepared to see line table entries for arguments. For the debugger, "second" line table entry marks beginning of function body. This requires some coordination with debugger to get this working. - The debugger needs to be aware of prolog_end attribute attached with line table entries. - The compiler needs to accurately mark prolog_end in line table entries (at -O0 and at -O1+) llvm-svn: 126155
-
- Feb 21, 2011
-
-
Sean Callanan authored
X86 instruction decode structure was being interpreted as being in units of bits, although it is actually stored in units of bytes. llvm-svn: 126147
-
Duncan Sands authored
llvm-svn: 126130
-
Chris Lattner authored
but which is responsible for us doing really bad things to 256.bzip2. llvm-svn: 126126
-
NAKAMURA Takumi authored
"dllimport" function must not be GlobalVariable, but Function. It is enough to check with GlobalValue. test/CodeGen/X86/dll-linkage.ll is updated to check llc -O0. llvm-svn: 126110
-
Cameron Zwarich authored
on Core 2 and Nehalem, so the code we generate is better than GCC's here. llvm-svn: 126100
-
Cameron Zwarich authored
of a constant had a minor typo introduced when copying it from the book, which caused it to favor negative approximations over positive approximations in many cases. Positive approximations require fewer operations beyond the multiplication. In the case of division by 3, we still generate code that is a single instruction larger than GCC's code. llvm-svn: 126097
-
- Feb 20, 2011
-
-
Eric Christopher authored
since one needs to be a register operand. Just use movss instead of forcing an operand into a register. Fixes PR9239 llvm-svn: 126072
-
Oscar Fuentes authored
of testing for its presence at cmake time. This way the build automatically regenerates the makefiles when a svn update brings in a new sublibrary. llvm-svn: 126068
-
- Feb 19, 2011
-
-
Eli Friedman authored
llvm-svn: 126054
-
Chris Lattner authored
This is reasonable to do since all bt-mem forms do the same thing. llvm-svn: 126047
-
Eric Christopher authored
llvm-svn: 126018
-
- Feb 18, 2011
-
-
Chris Lattner authored
llvm-svn: 125832
-
Joerg Sonnenberger authored
llvm-svn: 125805
-
Joerg Sonnenberger authored
Validate encoding of leave in 64bit mode. llvm-svn: 125795
-
- Feb 17, 2011
-
-
David Greene authored
[AVX] Recorganize X86ShuffleDecode into its own library (LLVMX86Utils.a) to break cyclic library dependencies between LLVMX86CodeGen.a and LLVMX86AsmParser.a. Previously this code was in a header file and marked static but AVX requires some additional functionality here that won't be used by all clients. Since including unused static functions causes a gcc compiler warning, keeping it as a header would break builds that use -Werror. Putting this in its own library solves both problems at once. llvm-svn: 125765
-
Dan Gohman authored
these patterns. llvm-svn: 125759
-
NAKAMURA Takumi authored
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way. llvm-svn: 125747
-
NAKAMURA Takumi authored
llvm-svn: 125746
-