- Jul 06, 2011
-
-
Jakub Staszak authored
llvm-svn: 134516
-
Kevin Enderby authored
push with a small constant produces a 2-byte push. llvm-svn: 134501
-
Evan Cheng authored
llvm-svn: 134457
-
Dan Gohman authored
extension points to be used by clang. llvm-svn: 134444
-
- Jul 05, 2011
-
-
Devang Patel authored
llvm-svn: 134441
-
Benjamin Kramer authored
llvm-svn: 134439
-
Rafael Espindola authored
llvm-svn: 134436
-
Rafael Espindola authored
llvm-svn: 134433
-
Chad Rosier authored
used for open is 0666. Therefore, add the necessary permission bits for consistency. rdar://8621462 llvm-svn: 134430
-
Jakob Stoklund Olesen authored
This is impossible in theory, I can prove it. In practice, our near-zero threshold can cause the network to oscillate between equally good solutions. <rdar://problem/9720596> llvm-svn: 134428
-
Rafael Espindola authored
llvm-svn: 134427
-
Eli Friedman authored
Add assembler/disassembler support for non-AVX pclmulqdq. While I'm here, use proper aliases for the pclmullqlqdq and friends. PR10269. llvm-svn: 134424
-
Andrew Trick authored
Putting back the helper that I removed on 7/1 to do this right. llvm-svn: 134423
-
Jim Grosbach authored
If the function allocates reserved stack space for callee argument frames, estimateStackSize() needs to account for that, as it doesn't show up as ordinary frame objects. Otherwise, a callee with a large argument list will throw off the calculations for whether to allocate an emergency spill slot and we get assert() failures in the register scavenger. rdar://9715469 llvm-svn: 134415
-
Jakob Stoklund Olesen authored
Remat during spilling triggers dead code elimination. If a phi-def becomes unused, that may also cause live ranges to split into separate connected components. This type of splitting is different from normal live range splitting. In particular, there may not be a common original interval. When the split range is its own original, make sure that the new siblings are also their own originals. The range being split cannot be used as an original since it doesn't cover the new siblings. llvm-svn: 134413
-
Jakob Stoklund Olesen authored
llvm-svn: 134412
-
Michael J. Spencer authored
llvm-svn: 134408
-
- Jul 04, 2011
-
-
Benjamin Kramer authored
PR10267: Don't combine an equality compare with an AND into an inequality compare when the AND has more than one use. This can pessimize code, inequalities are generally more expensive. llvm-svn: 134379
-
Roman Divacky authored
Noticed by Benjamin Kramer! llvm-svn: 134376
-
Rafael Espindola authored
This fixes the issue noted in PR10251 where early tail dup of bbs with indirectbr would cause a bb to be duplicated into a loop preheader and then into its predecessors, creating phi nodes with identical operands just before register allocation. This helps with jsinterp.o size (__TEXT goes from 163568 to 126656) and a bit with performance 1.005x faster on sunspider (jits still enabled). The result on webkit with the jit disabled is more significant: 1.021x faster. llvm-svn: 134372
-
Rafael Espindola authored
HasIndirectbr variable to be just that. No functionality change. llvm-svn: 134371
-
Rafael Espindola authored
llvm-svn: 134370
-
Jakob Stoklund Olesen authored
A split point inserted in a block with a landing pad successor may be hoisted above the call to ensure that it dominates all successors. The code that handles the rest of the basic block must take this into account. I am not including a test case, it would be very fragile. PR10244 comes from building clang with exceptions enabled. llvm-svn: 134369
-
- Jul 03, 2011
-
-
Roman Divacky authored
This is what both the ABI and clang says. llvm-svn: 134367
-
Rafael Espindola authored
llvm-svn: 134364
-
- Jul 02, 2011
-
-
Duncan Sands authored
llvm-svn: 134323
-
Duncan Sands authored
is valid or not depends on which system you build. llvm-svn: 134321
-
Duncan Sands authored
llvm-svn: 134319
-
Rafael Espindola authored
llvm-svn: 134312
-
Jakob Stoklund Olesen authored
llvm-svn: 134311
-
Jakob Stoklund Olesen authored
asm.c:2:7: error: ran out of registers during register allocation asm(""::"r"(0), "r"(1), "r"(2), "r"(3), "r"(4), "r"(5), "r"(6), "r"(7), "r"(8), "r"(9)); ^ llvm-svn: 134310
-
Rafael Espindola authored
register number. llvm-svn: 134309
-
Jakob Stoklund Olesen authored
Add a MI->emitError() method that the backend can use to report errors related to inline assembly. Call it from X86FloatingPoint.cpp when the constraints are wrong. This enables proper clang diagnostics from the backend: $ clang -c pr30848.c pr30848.c:5:12: error: Inline asm output regs must be last on the x87 stack __asm__ ("" : "=u" (d)); /* { dg-error "output regs" } */ ^ 1 error generated. llvm-svn: 134307
-
Andrew Trick authored
llvm-svn: 134306
-
Jakob Stoklund Olesen authored
Every live range is assigned a cascade number the first time it is involved in an eviction. As the evictor, it gets a new cascade number. Every evictee is assigned the same cascade number as the evictor. Eviction is prohibited if the evictor has a lower assigned cascade number than the evictee. This means that assigned cascade numbers are monotonically increasing with every eviction, yet they are bounded by NextCascade which can only be incremented by new live ranges. Thus, infinite loops cannot happen, but eviction cascades can still be triggered by new live ranges as we want. Thanks to Andy for explaining this to me. llvm-svn: 134303
-
Evan Cheng authored
llvm-svn: 134298
-
Cameron Zwarich authored
llvm-svn: 134287
-
Eric Christopher authored
up the valid constant check earlier. rdar://9692967 llvm-svn: 134286
-
Douglas Gregor authored
llvm-svn: 134282
-
Evan Cheng authored
llvm-svn: 134281
-