Commit Graph

73468 Commits

Author SHA1 Message Date
Tobias Grosser a3928f5084 LICM: Remove trailing white spaces
llvm-svn: 134521
2011-07-06 19:20:02 +00:00
Tobias Grosser 4a5d9a9c20 LICM: Do not loose alignment on promotion
The promotion code lost any alignment information, when hoisting loads and
stores out of the loop. This lead to incorrect aligned memory accesses. We now
use the largest alignment we can prove to be correct.

llvm-svn: 134520
2011-07-06 19:19:55 +00:00
Jakub Staszak dce4dffc84 Add documenation about "branch_weight" metadata and __builtin_expect instruction
llvm-svn: 134517
2011-07-06 18:31:02 +00:00
Jakub Staszak 3f158fdf6e Introduce "expect" intrinsic instructions.
llvm-svn: 134516
2011-07-06 18:22:43 +00:00
Kevin Enderby 6aac575c9f Update MC/ELF/relocation.s with change to X86 PUSH64i8 in r134501.
llvm-svn: 134511
2011-07-06 17:55:20 +00:00
Kevin Enderby 6ee1d2bd78 Changed the X86 PUSH64i8 record to use the i64i8imm ParserMatchClass so that a
push with a small constant produces a 2-byte push.

llvm-svn: 134501
2011-07-06 17:23:46 +00:00
David Greene afb9ba7dad Allow tagless builds and fix debug build configuration.
llvm-svn: 134498
2011-07-06 16:54:14 +00:00
Evan Cheng 4d806e2830 Remove the AsmWriterEmitter (unused) feature that rely on TargetSubtargetInfo.
llvm-svn: 134457
2011-07-06 02:02:33 +00:00
Dan Gohman ad3e8fda3b Revert r134366 and add an explicit triple to make this test host-independent.
llvm-svn: 134447
2011-07-05 22:09:19 +00:00
Dan Gohman 024bb8fa07 Remove the ObjC ARC passes from the default optimization list, and add
extension points to be used by clang.

llvm-svn: 134444
2011-07-05 22:01:44 +00:00
Devang Patel c3239d3965 Preserve debug loc.
llvm-svn: 134441
2011-07-05 21:48:22 +00:00
Devang Patel 347a112df3 Speculatively revert r134431.
llvm-svn: 134440
2011-07-05 21:16:28 +00:00
Benjamin Kramer e6490e03d7 Use memcmp.
llvm-svn: 134439
2011-07-05 20:28:00 +00:00
Rafael Espindola bac192d6cf Really fix typo :-(
llvm-svn: 134436
2011-07-05 19:17:10 +00:00
Rafael Espindola 5a0f0fba30 Fix typo.
llvm-svn: 134433
2011-07-05 19:13:27 +00:00
Devang Patel e550f25f8a Clear debug loc while updating insert point.
llvm-svn: 134431
2011-07-05 18:58:22 +00:00
Chad Rosier 30c3463309 By default mkstemp() creates a temporary file with mode 0600, but the mode
used for open is 0666.  Therefore, add the necessary permission bits for
consistency.
rdar://8621462

llvm-svn: 134430
2011-07-05 18:55:31 +00:00
Jakob Stoklund Olesen 91f3a30921 Break infinite loop when the Hopfield network oscillates.
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
2011-07-05 18:46:42 +00:00
Rafael Espindola 00aae24a08 Compare all 4 bytes of the header.
llvm-svn: 134427
2011-07-05 18:41:47 +00:00
Eli Friedman 415412e82f Add assembler/disassembler support for non-AVX pclmulqdq. While I'm here, use proper aliases for the pclmullqlqdq and friends. PR10269.
llvm-svn: 134424
2011-07-05 18:21:20 +00:00
Andrew Trick 92905a1767 indvars -disable-iv-rewrite: avoid multiple IVs in weird cases.
Putting back the helper that I removed on 7/1 to do this right.

llvm-svn: 134423
2011-07-05 18:19:39 +00:00
Jim Grosbach ea53901dc9 ARM estimateStackSize() needs to account for simplified call frames.
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
2011-07-05 16:05:50 +00:00
Jakob Stoklund Olesen bbad3bceb7 Fix PR10277.
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
2011-07-05 15:38:41 +00:00
Jakob Stoklund Olesen b2090ecbf2 Tweak comment and debug output.
llvm-svn: 134412
2011-07-05 15:38:37 +00:00
Michael J. Spencer dea45cc7cf Fix 80-col.
llvm-svn: 134409
2011-07-05 14:49:08 +00:00
Michael J. Spencer 5ebaed2404 Fix warnings.
llvm-svn: 134408
2011-07-05 14:48:59 +00:00
Tobias Grosser d562d30a20 SuccIterator on bbs without terminator insts
Remove the assert that triggers if SuccIterator is constructed for a basic block
without a terminator instruction. Instead of triggering an assert a succ_end()
iterator is returned. This models a basic block with zero successors and allows
us to use F->viewCFG() on incompletely constructed functions.

llvm-svn: 134398
2011-07-04 23:09:02 +00:00
Benjamin Kramer 9eca5feff1 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
2011-07-04 20:16:36 +00:00
Roman Divacky cc5e53383e Remove accidentaly left node from previous iteration of the patch.
Noticed by Benjamin Kramer!

llvm-svn: 134376
2011-07-04 15:42:45 +00:00
Rafael Espindola c74d9378e1 Move early tail duplication earlier.
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
2011-07-04 04:54:22 +00:00
Rafael Espindola f9f012ea88 Move most of the pre BB code to TailDuplicateAndUpdate. Change the
HasIndirectbr variable to be just that. No functionality change.

llvm-svn: 134371
2011-07-04 01:21:42 +00:00
Rafael Espindola 79dc4e7709 Reduce indentation and fix the count of how many PHIs we have inserted.
llvm-svn: 134370
2011-07-04 00:13:36 +00:00
Jakob Stoklund Olesen 71a3a003dd Fix PR10244.
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
2011-07-04 00:05:28 +00:00
Roman Divacky 075491f2cd Make the i64 and f64 be 64bit ABI aligned in the target description.
This is what both the ABI and clang says.

llvm-svn: 134367
2011-07-03 16:24:07 +00:00
NAKAMURA Takumi bb2f28f41c test/CodeGen/X86/lsr-nonaffine.ll: Relax expressions for Win64 CC to appease Win32 hosts.
llvm-svn: 134366
2011-07-03 09:26:14 +00:00
Rafael Espindola de8fa9e1f1 Fix an easy fixme.
llvm-svn: 134364
2011-07-03 05:26:42 +00:00
Chandler Carruth a6e593b4eb FileCheck-ize another test. Reduces the llc invocations from 8 to 1, and
makes one of the tests actually mean something (as the string 'add' will
always appear in the output of this file).

llvm-svn: 134358
2011-07-02 21:34:52 +00:00
Chandler Carruth d024a50823 Avoid writing to an arbitrary filename during the test run by writing to
a file descriptor.

llvm-svn: 134355
2011-07-02 20:43:18 +00:00
Chandler Carruth a33e630c55 FileCheck-ize another X86 test, making it more precisely verify the
desired result based on the comments in the file.

llvm-svn: 134354
2011-07-02 20:43:16 +00:00
Chandler Carruth af39a720fa Quote two greps which contain parentheses.
llvm-svn: 134353
2011-07-02 20:43:13 +00:00
Chandler Carruth 959fe548d7 FileCheck-ize and simplify RUN lines.
llvm-svn: 134352
2011-07-02 20:43:11 +00:00
Chandler Carruth 02bece4957 FileCheck-ize
llvm-svn: 134351
2011-07-02 20:43:08 +00:00
Chandler Carruth 91c4008373 FileCheck-ize and tighten up assertions to only check the relevant sections.
llvm-svn: 134350
2011-07-02 20:43:04 +00:00
Chandler Carruth 4b15dd38a8 FileCheck-ize and cleanup IR.
llvm-svn: 134349
2011-07-02 20:43:01 +00:00
Chandler Carruth a7440ff322 FileCheck-ize
llvm-svn: 134348
2011-07-02 20:42:59 +00:00
Chandler Carruth 5c87df3179 Remove a grep that is already checked with FileCheck.
llvm-svn: 134346
2011-07-02 20:42:56 +00:00
Chandler Carruth 106ae72933 FileCheck-ize
llvm-svn: 134345
2011-07-02 20:42:53 +00:00
Chandler Carruth fbb7c9ba06 FileCheck-ize and modernize IR.
llvm-svn: 134344
2011-07-02 20:42:50 +00:00
Chandler Carruth 81275c3029 FileCheck-ize and simplify RUNs.
llvm-svn: 134343
2011-07-02 20:42:48 +00:00
Chandler Carruth f0e2e37518 FileCheck-ize and modernize the RUN line.
llvm-svn: 134342
2011-07-02 20:42:44 +00:00