- Mar 10, 2011
-
-
Stuart Hastings authored
llvm-svn: 127382
-
Evan Cheng authored
llvm-svn: 127380
-
Evan Cheng authored
llvm-svn: 127376
-
- Mar 09, 2011
-
-
Evan Cheng authored
flexible. If it returns a register class that's different from the input, then that's the register class used for cross-register class copies. If it returns a register class that's the same as the input, then no cross- register class copies are needed (normal copies would do). If it returns null, then it's not at all possible to copy registers of the specified register class. llvm-svn: 127368
-
Benjamin Kramer authored
llvm-svn: 127365
-
-
Jan Sjödin authored
Add createELFObjectTargetWriter method to TargetAsmBackend, which enables construction of non-standard ELFObjectWriters that can be used in MCJIT. llvm-svn: 127346
-
NAKAMURA Takumi authored
llvm-svn: 127328
-
- Mar 08, 2011
-
-
Benjamin Kramer authored
Found by inspection. llvm-svn: 127247
-
Eric Christopher authored
testcases accordingly. Some are currently xfailed and will be filed as bugs to be fixed or understood. Performance results: roughly neutral on SPEC some micro benchmarks in the llvm suite are up between 100 and 150%, only a pair of regressions that are due to be investigated john-the-ripper saw: 10% improvement in traditional DES 8% improvement in BSDI DES 59% improvement in FreeBSD MD5 67% improvement in OpenBSD Blowfish 14% improvement in LM DES Small compile time impact. llvm-svn: 127208
-
- Mar 07, 2011
-
-
Cameron Zwarich authored
llvm-svn: 127175
-
- 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
-