- 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
-
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
-
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
-
Jim Grosbach authored
llvm-svn: 156019
-
Douglas Gregor authored
be used by clang-tblgen. llvm-svn: 156000
-
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
-
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
-
Benjamin Kramer authored
llvm-svn: 155909
-
Eli Bendersky authored
- Improved parameter names for clarity - Added comments - emitCommonSymbols should return void because its return value is not being used anywhere - Attempt to reduce the usage of the RelocationValueRef type. Restricts it for a single goal and may serve as a step for eventual removal. llvm-svn: 155908
-
Benjamin Kramer authored
llvm-svn: 155907
-
Bill Wendling authored
The TargetPassManager's default constructor wants to initialize the PassManager to 'null'. But it's illegal to bind a null reference to a null l-value. Make the ivar a pointer instead. PR12468 llvm-svn: 155902
-
Craig Topper authored
llvm-svn: 155899
-
Eli Bendersky authored
- There's no point having a different type for the local and global symbol tables. - Renamed SymbolTable to GlobalSymbolTable to clarify the intention - Improved const correctness where relevant llvm-svn: 155898
-
Craig Topper authored
llvm-svn: 155897
-