- May 03, 2012
-
-
Nuno Lopes authored
replace 'break's with 'return 0' in visitCallInst code for objectsize, since there is no need to fallback to visitCallSite. This gives a 0.9% in a test case llvm-svn: 156069
-
Duncan Sands authored
llvm-svn: 156067
-
Craig Topper authored
llvm-svn: 156060
-
Craig Topper authored
Fix 256-bit vpshuflw and vpshufhw immediate encoding to handle undefs in the lower half correctly. Missed in r155982. llvm-svn: 156059
-
Evan Cheng authored
to catch cases like: %reg1024<def> = MOV r1 %reg1025<def> = MOV r0 %reg1026<def> = ADD %reg1024, %reg1025 r0 = MOV %reg1026 By commuting ADD, it let coalescer eliminate all of the copies. However, there was a bug in the heuristics where it ended up commuting the ADD in: %reg1024<def> = MOV r0 %reg1025<def> = MOV 0 %reg1026<def> = ADD %reg1024, %reg1025 r0 = MOV %reg1026 That did no benefit but rather ensure the last MOV would not be coalesced. rdar://11355268 llvm-svn: 156048
-
Andrew Trick authored
The ensures that virtual registers always belong to an allocatable class. If your target attempts to create a vreg for an operand that has no allocatable register subclass, you will crash quickly. This ensures that targets define register classes as intended. llvm-svn: 156046
-
Bill Wendling authored
llvm-svn: 156034
-
Daniel Dunbar authored
llvm-svn: 156032
-
Owen Anderson authored
Teach DAGCombine the same multiply-by-1.0 folding trick when doing FMAs, just like it now knows for FMULs. llvm-svn: 156029
-
Preston Gurd authored
For Intel Atom, use ILP scheduling always, instead of ILP for 64 bit and Hybrid for 32 bit, since benchmarks show ILP scheduling is better most of the time. llvm-svn: 156028
-
- May 02, 2012
-
-
Preston Gurd authored
Lincroft and Medfield. llvm-svn: 156025
-
Owen Anderson authored
llvm-svn: 156023
-
Michael J. Spencer authored
llvm-svn: 156021
-
Jim Grosbach authored
llvm-svn: 156019
-
Douglas Gregor authored
be used by clang-tblgen. llvm-svn: 156000
-
Anders Waldenborg authored
This avoids warnings when included in a application that uses -Wstrict-prototypes. e.g: AsmPrinters.def:27:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] llvm-svn: 155997
-
Preston Gurd authored
by providing the latencies for the instructions in X86InstrFPStack.td. llvm-svn: 155996
-
Manman Ren authored
The commit is intended to fix rdar://10961709. But it is the root cause of PR12720. Revert it for now. llvm-svn: 155992
-
Kostya Serebryany authored
llvm-svn: 155986
-
Bill Wendling authored
methods. Use a weak value handle to keep up with this. PR12245 llvm-svn: 155984
-
Richard Barton authored
llvm-svn: 155983
-
Craig Topper authored
llvm-svn: 155982
-
John McCall authored
Note that support for rvalue references does not imply support for the full set of move-related STL operations. I've preserved support for an odd little thing in insert() where we're trying to support inserting a new element from an existing one. If we actually want to support that, there's a lot more we need to do: insert can call either grow or push_back, neither of which is safe against this particular use pattern. llvm-svn: 155979
-
John McCall authored
llvm-svn: 155978
-
Eli Friedman authored
llvm-svn: 155976
-
Jim Grosbach authored
llvm-svn: 155960
-
Jakub Staszak authored
llvm-svn: 155959
-
Jakub Staszak authored
llvm-svn: 155957
-
Jakub Staszak authored
llvm-svn: 155956
-
Bill Wendling authored
PR10799 llvm-svn: 155954
-
- May 01, 2012
-
-
Sirish Pande authored
llvm-svn: 155947
-
Jim Grosbach authored
Aliases for adding a negative immediate when using an explicit 'w' suffix. E.g., adds.w r2, #-16 adds.w r2, r2, #-16 addw r2, #-16 addw r2, #-16 addw r2, r2, #-16 rdar://11330769 llvm-svn: 155946
-
Jim Grosbach authored
Expressions for movw/movt don't always have an :upper16: or :lower16: on them and that's ok. When they don't, it's just a plain [0-65536] immediate result, effectively the same as a :lower16: variant kind. rdar://10550147 llvm-svn: 155941
-
Preston Gurd authored
This patch marks the X86 floating point stack registers ST0-ST7 as reserved in order to avoid assertion failures in the register scavenger. The assertion failures were “Bad machine code: Using an undefined physical register” and “Bad machine code: MBB exits via unconditional fall-through but its successor differs from its CFG successor!”. llvm-svn: 155930
-
Jim Grosbach authored
Previously, an unsupported/unknown assembler directive issued a warning. That's generally unsafe, and inconsistent with the behaviour of pretty much every system assembler. Now that the MC assemblers are mature enough to be the default on multiple targets, it's reasonable to issue errors for these. For target or platform directives that need to stay warnings, we should add explicit handlers for them in, e.g., ELFAsmParser.cpp, DarwinAsmParser.cpp, et. al., and issue the warning there. rdar://9246275 llvm-svn: 155926
-
Jim Grosbach authored
The caller is already responsible for eating any additional input on the line. Putting an additional EatToEndOfStatement() in ParseStatement() causes an entire extra statement to be consumed when treating warnings as errors. For example, test/MC/macros.s will assert() because the .endmacro directive is missed as a result. rdar://11355843 llvm-svn: 155925
-
Manman Ren authored
This patch will optimize the following cases on X86 (a > b) ? (a-b) : 0 (a >= b) ? (a-b) : 0 (b < a) ? (a-b) : 0 (b <= a) ? (a-b) : 0 FROM movl %edi, %ecx subl %esi, %ecx cmpl %edi, %esi movl $0, %eax cmovll %ecx, %eax TO xorl %eax, %eax subl %esi, %edi cmovll %eax, %edi movl %edi, %eax rdar: 10734411 llvm-svn: 155919
-
Alexey Samsonov authored
X86: Use StackRegister instead of FrameRegister in getFrameIndexReference (to generate debug info for local variables) if stack needs realignment llvm-svn: 155917
-
Benjamin Kramer authored
llvm-svn: 155915
-
Jay Foad authored
llvm-svn: 155912
-