oota-llvm.git
13 years agoRemove more tail calls.
Dale Johannesen [Fri, 4 Jun 2010 01:01:24 +0000 (01:01 +0000)]
Remove more tail calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105450 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove a tail call, and move some CHECKs to the
Dale Johannesen [Fri, 4 Jun 2010 01:01:04 +0000 (01:01 +0000)]
Remove a tail call, and move some CHECKs to the
functions where they belong.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105449 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMangle __builtin_neon_* names appropriately.
Nate Begeman [Fri, 4 Jun 2010 00:21:41 +0000 (00:21 +0000)]
Mangle __builtin_neon_* names appropriately.
Add skeleton of support for emitting the list of prototypes for BuiltinsARM.def

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105443 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoNo need to special-case structs here; structs are first-class now.
Dan Gohman [Fri, 4 Jun 2010 00:18:06 +0000 (00:18 +0000)]
No need to special-case structs here; structs are first-class now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105442 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agofix typo
Jim Grosbach [Fri, 4 Jun 2010 00:15:00 +0000 (00:15 +0000)]
fix typo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105441 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThis test doesn't need the ssp attribute.
Dan Gohman [Fri, 4 Jun 2010 00:14:48 +0000 (00:14 +0000)]
This test doesn't need the ssp attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105440 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFor NEON vectors with 32- or 64-bit elements, select BUILD_VECTORs and
Bob Wilson [Fri, 4 Jun 2010 00:04:02 +0000 (00:04 +0000)]
For NEON vectors with 32- or 64-bit elements, select BUILD_VECTORs and
VECTOR_SHUFFLEs to REG_SEQUENCE instructions.  The standard ISD::BUILD_VECTOR
node corresponds closely to REG_SEQUENCE but I couldn't use it here because
its operands do not get legalized.  That is pretty awful, but I guess it
makes sense for other targets.  Instead, I have added an ARM-specific version
of BUILD_VECTOR that will have its operands properly legalized.
This fixes the rest of Radar 7872877.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105439 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove tail call. A tail call version will follow.
Dale Johannesen [Fri, 4 Jun 2010 00:03:37 +0000 (00:03 +0000)]
Remove tail call.  A tail call version will follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105438 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd some missing checks in TwoAddressInstructionPass::CoalesceExtSubRegs.
Bob Wilson [Thu, 3 Jun 2010 23:53:58 +0000 (23:53 +0000)]
Add some missing checks in TwoAddressInstructionPass::CoalesceExtSubRegs.
Check that all the instructions are in the same basic block, that the
EXTRACT_SUBREGs write to the same subregs that are being extracted, and that
the source and destination registers are in the same regclass.  Some of
these constraints can be relaxed with a bit more work.  Jakob suggested
that the loop that checks for subregs when NewSubIdx != 0 should use the
"nodbg" iterator, so I made that change here, too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105437 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoCleanup 80-column and trim trailing whitespace
Jim Grosbach [Thu, 3 Jun 2010 23:49:57 +0000 (23:49 +0000)]
Cleanup 80-column and trim trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105435 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTeach the ARM load-store optimizer to deal with dbg_value instructions.
Jim Grosbach [Thu, 3 Jun 2010 22:41:15 +0000 (22:41 +0000)]
Teach the ARM load-store optimizer to deal with dbg_value instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105427 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove tail call to preserve this test. A tail
Dale Johannesen [Thu, 3 Jun 2010 21:57:48 +0000 (21:57 +0000)]
Remove tail call to preserve this test.  A tail
call version will follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105422 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMake this test not use tail calls. A tail call
Dale Johannesen [Thu, 3 Jun 2010 21:53:01 +0000 (21:53 +0000)]
Make this test not use tail calls.  A tail call
version will follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105419 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd some additional capabilities to the neon emitter
Nate Begeman [Thu, 3 Jun 2010 21:35:22 +0000 (21:35 +0000)]
Add some additional capabilities to the neon emitter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105416 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a emit-llvm option to the plugin and make the path argument to also-emit-llvm...
Rafael Espindola [Thu, 3 Jun 2010 21:11:20 +0000 (21:11 +0000)]
Add a emit-llvm option to the plugin and make the path argument to also-emit-llvm optional.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105414 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoEarly implementation of tail call for ARM.
Dale Johannesen [Thu, 3 Jun 2010 21:09:53 +0000 (21:09 +0000)]
Early implementation of tail call for ARM.
A temporary flag -arm-tail-calls defaults to off,
so there is no functional change by default.
Intrepid users may try this; simple cases work
but there are bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105413 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix SimplifyDemandedBits' AssertZext logic to demand all the bits. It
Dan Gohman [Thu, 3 Jun 2010 20:21:33 +0000 (20:21 +0000)]
Fix SimplifyDemandedBits' AssertZext logic to demand all the bits. It
needs to demand the high bits because it's asserting that they're zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105406 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRevert 105308.
Bob Wilson [Thu, 3 Jun 2010 18:28:31 +0000 (18:28 +0000)]
Revert 105308.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105399 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPerfer !string.empty() over string != "".
Nick Lewycky [Thu, 3 Jun 2010 17:13:23 +0000 (17:13 +0000)]
Perfer !string.empty() over string != "".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105397 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoForgot to update the most important part of the gtest modifications readme.
Benjamin Kramer [Thu, 3 Jun 2010 17:11:49 +0000 (17:11 +0000)]
Forgot to update the most important part of the gtest modifications readme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105396 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhitespace cleanup.
Nick Lewycky [Thu, 3 Jun 2010 17:10:17 +0000 (17:10 +0000)]
Whitespace cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105395 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDisable pthread support in googletest if llvm was configured without threads.
Benjamin Kramer [Thu, 3 Jun 2010 15:17:04 +0000 (15:17 +0000)]
Disable pthread support in googletest if llvm was configured without threads.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105390 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't preserve all symbols in a .so and instead trust gold to know what is
Rafael Espindola [Thu, 3 Jun 2010 14:45:44 +0000 (14:45 +0000)]
Don't preserve all symbols in a .so and instead trust gold to know what is
needed. The result is that now we are able to drop unnecessary symbol from
shared libraries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105389 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMachine sink could potentially sink instructions into a block where the physical
Bill Wendling [Thu, 3 Jun 2010 07:54:20 +0000 (07:54 +0000)]
Machine sink could potentially sink instructions into a block where the physical
registers it defines then interfere with an existing preg live range.

For instance, if we had something like these machine instructions:

BB#0
  ... = imul ... EFLAGS<imp-def,dead>
  test ..., EFLAGS<imp-def>
  jcc BB#2 EFLAGS<imp-use>

BB#1
  ... ; fallthrough to BB#2

BB#2
  ... ; No code that defines EFLAGS
  jcc ... EFLAGS<imp-use>

Machine sink will come along, see that imul implicitly defines EFLAGS, but
because it's "dead", it assumes that it can move imul into BB#2. But when it
does, imul's "dead" imp-def of EFLAGS is raised from the dead (a zombie) and
messes up the condition code for the jump (and pretty much anything else which
relies upon it being correct).

The solution is to know which pregs are live going into a basic block. However,
that information isn't calculated at this point. Nor does the LiveVariables pass
take into account non-allocatable physical registers. In lieu of this, we do a
*very* conservative pass through the basic block to determine if a preg is live
coming out of it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105387 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoTurns out gtest still prefers the system <tr1/tuple> over it's own
Benjamin Kramer [Thu, 3 Jun 2010 07:51:58 +0000 (07:51 +0000)]
Turns out gtest still prefers the system <tr1/tuple> over it's own
implementation. Force the internal one to unbreak clang selfhost on linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105386 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd first pass at darwin tls compiler support.
Eric Christopher [Thu, 3 Jun 2010 04:07:48 +0000 (04:07 +0000)]
Add first pass at darwin tls compiler support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105381 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoarm_neon.h now makes it through clang and generates appropriate code for those functi...
Nate Begeman [Thu, 3 Jun 2010 04:04:09 +0000 (04:04 +0000)]
arm_neon.h now makes it through clang and generates appropriate code for those functions which can use
generic vector operators rather than __builtin_neon_*

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105380 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoOne underscore, not two.
Eric Christopher [Thu, 3 Jun 2010 04:02:59 +0000 (04:02 +0000)]
One underscore, not two.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105379 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoImplement expansion in type legalization for add/sub with overflow. The
Eli Friedman [Thu, 3 Jun 2010 03:49:50 +0000 (03:49 +0000)]
Implement expansion in type legalization for add/sub with overflow.  The
expansion is the same as that used by LegalizeDAG.

The resulting code sucks in terms of performance/codesize on x86-32 for a
64-bit operation; I haven't looked into whether different expansions might be
better in general.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105378 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove some already-fixed README entries.
Eli Friedman [Thu, 3 Jun 2010 01:47:31 +0000 (01:47 +0000)]
Remove some already-fixed README entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105377 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove README entry which no longer compiles to something sane.
Eli Friedman [Thu, 3 Jun 2010 01:16:51 +0000 (01:16 +0000)]
Remove README entry which no longer compiles to something sane.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105376 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove a fixed item, update a couple partially-fixed items.
Eli Friedman [Thu, 3 Jun 2010 01:01:48 +0000 (01:01 +0000)]
Remove a fixed item, update a couple partially-fixed items.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105375 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse the fast register allocator by default for -O0 builds.
Jakob Stoklund Olesen [Thu, 3 Jun 2010 00:39:06 +0000 (00:39 +0000)]
Use the fast register allocator by default for -O0 builds.

This affects both llvm-gcc and clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105372 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse readsWritesVirtualRegister instead of counting uses and defs when inserting
Jakob Stoklund Olesen [Thu, 3 Jun 2010 00:07:47 +0000 (00:07 +0000)]
Use readsWritesVirtualRegister instead of counting uses and defs when inserting
spills and reloads.

This means that a partial define of a register causes a reload so the other
parts of the register are preserved.

The reload can be prevented by adding an <imp-def> operand for the full
register. This is already done by the coalescer and live interval analysis where
relevant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105369 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd full register <imp-def> operands when the coalescer is creating partial
Jakob Stoklund Olesen [Wed, 2 Jun 2010 23:22:11 +0000 (23:22 +0000)]
Add full register <imp-def> operands when the coalescer is creating partial
register updates.

These operands tell the spiller that the other parts of the partially defined
register are don't-care, and a reload is not necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105361 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSpeedup bitcode writer. Do not walk all values for all functions to emit function...
Devang Patel [Wed, 2 Jun 2010 23:05:04 +0000 (23:05 +0000)]
Speedup bitcode writer. Do not walk all values for all functions to emit function local metadata. In one testcase, probably worst case scenario, the 70x speed up is seen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105360 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoCompulsive reformating. No functionalitical changes.
Bill Wendling [Wed, 2 Jun 2010 23:04:26 +0000 (23:04 +0000)]
Compulsive reformating. No functionalitical changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105359 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSlightly change the meaning of the reMaterialize target hook when the original
Jakob Stoklund Olesen [Wed, 2 Jun 2010 22:47:25 +0000 (22:47 +0000)]
Slightly change the meaning of the reMaterialize target hook when the original
instruction defines subregisters.

Any existing subreg indices on the original instruction are preserved or
composed with the new subreg index.

Also substitute multiple operands mentioning the original register by using the
new MachineInstr::substituteRegister() function. This is necessary because there
will soon be <imp-def> operands added to non read-modify-write partial
definitions. This instruction:

  %reg1234:foo = FLAP %reg1234<imp-def>

will reMaterialize(%reg3333, bar) like this:

  %reg3333:bar-foo = FLAP %reg333:bar<imp-def>

Finally, replace the TargetRegisterInfo pointer argument with a reference to
indicate that it cannot be NULL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105358 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate Readme and Makefiles for the new gtest.
Benjamin Kramer [Wed, 2 Jun 2010 22:02:57 +0000 (22:02 +0000)]
Update Readme and Makefiles for the new gtest.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105355 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMerge gtest-1.5.0.
Benjamin Kramer [Wed, 2 Jun 2010 22:02:30 +0000 (22:02 +0000)]
Merge gtest-1.5.0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105354 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMerge gtest-1.4.0.
Benjamin Kramer [Wed, 2 Jun 2010 22:02:11 +0000 (22:02 +0000)]
Merge gtest-1.4.0.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105353 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoMerge gtest-1.3.0.
Benjamin Kramer [Wed, 2 Jun 2010 22:01:25 +0000 (22:01 +0000)]
Merge gtest-1.3.0.

OSX users: make sure that CrashReporter is disabled when running unit tests.
Death tests are enabled now so you'll get a ton of message boxes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105352 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoClean up 80 column violations. No functional change.
Jim Grosbach [Wed, 2 Jun 2010 21:53:11 +0000 (21:53 +0000)]
Clean up 80 column violations. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105350 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoarm_neon.h emitter now mostly complete for the purposes of initial testing.
Nate Begeman [Wed, 2 Jun 2010 21:53:00 +0000 (21:53 +0000)]
arm_neon.h emitter now mostly complete for the purposes of initial testing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105349 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove the TargetRegisterClass member from CalleeSavedInfo
Rafael Espindola [Wed, 2 Jun 2010 20:02:30 +0000 (20:02 +0000)]
Remove the TargetRegisterClass member from CalleeSavedInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105344 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix comment so it doesn't include comments which are irrelevant to the x86
Eli Friedman [Wed, 2 Jun 2010 19:35:46 +0000 (19:35 +0000)]
Fix comment so it doesn't include comments which are irrelevant to the x86
backend.  Add a FIXME noting what can be fixed here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105342 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse comments to document non-obvious code rather than
Dan Gohman [Wed, 2 Jun 2010 19:13:40 +0000 (19:13 +0000)]
Use comments to document non-obvious code rather than
mailing list archives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105341 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSkip identical instruction while calculating DBG_VALUE range.
Devang Patel [Wed, 2 Jun 2010 19:05:13 +0000 (19:05 +0000)]
Skip identical instruction while calculating DBG_VALUE range.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105340 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRename canCombinedSubRegIndex method to something more grammatically correct
Bob Wilson [Wed, 2 Jun 2010 18:54:47 +0000 (18:54 +0000)]
Rename canCombinedSubRegIndex method to something more grammatically correct
and tidy up the comment describing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105339 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoReplace ARM's getCalleeSavedRegClasses with a simpler solution
Rafael Espindola [Wed, 2 Jun 2010 17:54:50 +0000 (17:54 +0000)]
Replace ARM's getCalleeSavedRegClasses with a simpler solution

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105335 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoremove trailing whitespace
Jim Grosbach [Wed, 2 Jun 2010 17:45:54 +0000 (17:45 +0000)]
remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105333 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse local small vector.
Devang Patel [Wed, 2 Jun 2010 16:42:51 +0000 (16:42 +0000)]
Use local small vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105332 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove unused function.
Rafael Espindola [Wed, 2 Jun 2010 15:44:20 +0000 (15:44 +0000)]
Remove unused function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105325 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoNot all entries in the range will have an SUnit. Check for that when looking
Jim Grosbach [Wed, 2 Jun 2010 15:29:36 +0000 (15:29 +0000)]
Not all entries in the range will have an SUnit. Check for that when looking
for debug information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105324 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate the documentation, getCalleeSavedRegClasses is not required anymore.
Rafael Espindola [Wed, 2 Jun 2010 14:03:11 +0000 (14:03 +0000)]
Update the documentation, getCalleeSavedRegClasses is not required anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105323 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agocleanup
Rafael Espindola [Wed, 2 Jun 2010 13:53:17 +0000 (13:53 +0000)]
cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105322 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove uses of getCalleeSavedRegClasses from outside the
Rafael Espindola [Wed, 2 Jun 2010 12:39:06 +0000 (12:39 +0000)]
Remove uses of getCalleeSavedRegClasses from outside the
backends and removes the virtual declaration. With that out of the way
I should be able to cleanup one backend at a time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105321 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoPacify recent gcc: remove a pointless const qualifier.
Duncan Sands [Wed, 2 Jun 2010 08:37:30 +0000 (08:37 +0000)]
Pacify recent gcc: remove a pointless const qualifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105318 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoCheckpoint; handle 'int' and 'void' correctly
Nate Begeman [Wed, 2 Jun 2010 07:14:28 +0000 (07:14 +0000)]
Checkpoint; handle 'int' and 'void' correctly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105316 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoEmit full function prototypes. Definitions & typedefs to come.
Nate Begeman [Wed, 2 Jun 2010 06:17:19 +0000 (06:17 +0000)]
Emit full function prototypes.  Definitions & typedefs to come.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105315 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoEnable machine cse of instructions which define physical registers.
Evan Cheng [Wed, 2 Jun 2010 01:08:27 +0000 (01:08 +0000)]
Enable machine cse of instructions which define physical registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105308 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoCheckpoint arm_neon.h generation with tablegen
Nate Begeman [Wed, 2 Jun 2010 00:34:55 +0000 (00:34 +0000)]
Checkpoint arm_neon.h generation with tablegen

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105307 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't try to custom-lower 64-bit add-with-overflow and friends on x86-32; the
Eli Friedman [Wed, 2 Jun 2010 00:27:18 +0000 (00:27 +0000)]
Don't try to custom-lower 64-bit add-with-overflow and friends on x86-32; the
x86 backend currently doesn't know how to handle them.

This doesn't really fix anything because LegalizeTypes doesn't know how to
handle them either.  We do get a better error message, though.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105305 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix an obvious mistake: don't change the operands until all of them have been
Bob Wilson [Wed, 2 Jun 2010 00:16:08 +0000 (00:16 +0000)]
Fix an obvious mistake: don't change the operands until all of them have been
checked and it is safe to proceed with the changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105304 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove outdated README entries.
Eli Friedman [Wed, 2 Jun 2010 00:10:36 +0000 (00:10 +0000)]
Remove outdated README entries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105303 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUpdate debug information when breaking anti-dependencies. rdar://7759363
Jim Grosbach [Tue, 1 Jun 2010 23:48:44 +0000 (23:48 +0000)]
Update debug information when breaking anti-dependencies. rdar://7759363

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105300 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix comment
Sean Hunt [Tue, 1 Jun 2010 23:29:39 +0000 (23:29 +0000)]
Fix comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105297 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDwarfWrite is now smart enough to drop debug value pointing to undefined register...
Devang Patel [Tue, 1 Jun 2010 23:01:43 +0000 (23:01 +0000)]
DwarfWrite is now smart enough to drop debug value pointing to undefined register.  Update this test to avoid this.

iSel not properly lowring argument into a well formed DBG_VALUE in some cases is a separate issue and not related to the test in this testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105295 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoProperly compose subregister indices when coalescing.
Jakob Stoklund Olesen [Tue, 1 Jun 2010 22:39:25 +0000 (22:39 +0000)]
Properly compose subregister indices when coalescing.
The comment about ordering of subreg indices is no longer true.
This exposed a bug in the new substVirtReg method that is also fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105294 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRemove unused code
Jim Grosbach [Tue, 1 Jun 2010 21:56:30 +0000 (21:56 +0000)]
Remove unused code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105293 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoIgnore line number of debug value in undefined register.
Devang Patel [Tue, 1 Jun 2010 21:43:09 +0000 (21:43 +0000)]
Ignore line number of debug value in undefined register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105292 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agofix think-o
Jim Grosbach [Tue, 1 Jun 2010 21:35:50 +0000 (21:35 +0000)]
fix think-o

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105291 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix the allocation of shadow space for the Win64 calling convention
Dan Gohman [Tue, 1 Jun 2010 21:09:47 +0000 (21:09 +0000)]
Fix the allocation of shadow space for the Win64 calling convention
in X86FastISel. Patch by Jan Sjodin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105290 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoSimplify things a bit more. Fix prototype to use SmallVectorImpl and
Jim Grosbach [Tue, 1 Jun 2010 21:06:46 +0000 (21:06 +0000)]
Simplify things a bit more. Fix prototype to use SmallVectorImpl and
change a few SmallVectors to vanilla C arrays.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105289 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix the noalias checking so that it doesn't worry about
Dan Gohman [Tue, 1 Jun 2010 20:51:40 +0000 (20:51 +0000)]
Fix the noalias checking so that it doesn't worry about
an argument aliasing itself. Thanks Duncan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105288 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoKeep track of incoming debug value of unused argument.
Devang Patel [Tue, 1 Jun 2010 19:59:01 +0000 (19:59 +0000)]
Keep track of incoming debug value of unused argument.
Radar 7927666.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105285 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFill in missing support for ISD::FEXP, ISD::FPOWI, and friends.
Dan Gohman [Tue, 1 Jun 2010 18:35:14 +0000 (18:35 +0000)]
Fill in missing support for ISD::FEXP, ISD::FPOWI, and friends.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105283 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a FIXME
Jim Grosbach [Tue, 1 Jun 2010 18:06:35 +0000 (18:06 +0000)]
Add a FIXME

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105282 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agomirror of r105280 changes for LowerInvoke, which uses the same basic logic here
Jim Grosbach [Tue, 1 Jun 2010 18:04:56 +0000 (18:04 +0000)]
mirror of r105280 changes for LowerInvoke, which uses the same basic logic here

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105281 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoWhen processing function arguments when splitting live ranges across invokes,
Jim Grosbach [Tue, 1 Jun 2010 18:04:09 +0000 (18:04 +0000)]
When processing function arguments when splitting live ranges across invokes,
handle structs passed by value via an extract/insert pair, as a bitcast
won't work on a struct. rdar://7742824

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105280 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoUse SmallVector instead of std::vector.
Jim Grosbach [Tue, 1 Jun 2010 17:56:41 +0000 (17:56 +0000)]
Use SmallVector instead of std::vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105279 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDelete unused variables (that weren't even getting expanded).
Dan Gohman [Tue, 1 Jun 2010 17:26:14 +0000 (17:26 +0000)]
Delete unused variables (that weren't even getting expanded).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105278 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFreebsd's sed doesn't support \< in regexps, and GNU sed doesn't
Dan Gohman [Tue, 1 Jun 2010 17:08:56 +0000 (17:08 +0000)]
Freebsd's sed doesn't support \< in regexps, and GNU sed doesn't
support [[:<:]]. Use beginning-of-line and end-of-line anchors
instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105277 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoRefactor some SSE 2 unpack instructions
Bruno Cardoso Lopes [Tue, 1 Jun 2010 17:02:50 +0000 (17:02 +0000)]
Refactor some SSE 2 unpack instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105276 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDon't call flush() at a library level which isn't checking for errors
Dan Gohman [Tue, 1 Jun 2010 16:31:34 +0000 (16:31 +0000)]
Don't call flush() at a library level which isn't checking for errors
and doesn't know where the output is going.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105274 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix a spello affecting platforms where the configure check fails.
Dan Gohman [Tue, 1 Jun 2010 16:22:27 +0000 (16:22 +0000)]
Fix a spello affecting platforms where the configure check fails.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105273 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix a typo in a comment.
Dan Gohman [Tue, 1 Jun 2010 16:10:08 +0000 (16:10 +0000)]
Fix a typo in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105272 91177308-0d34-0410-b5e6-96231b3b80d8

13 years ago-retain-symbols-file is not what it seems. Update the makefiles
Dan Gohman [Tue, 1 Jun 2010 14:56:56 +0000 (14:56 +0000)]
-retain-symbols-file is not what it seems. Update the makefiles
and configury to use --version-script.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105271 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix extra fread after EOF, non-wires-crossed version.
Dan Gohman [Tue, 1 Jun 2010 14:09:29 +0000 (14:09 +0000)]
Fix extra fread after EOF, non-wires-crossed version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105270 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix handling of 'load' nodes.
Kalle Raiskila [Tue, 1 Jun 2010 13:34:47 +0000 (13:34 +0000)]
Fix handling of 'load' nodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105269 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoDebreak test for non-Darwin.
Bill Wendling [Mon, 31 May 2010 21:47:24 +0000 (21:47 +0000)]
Debreak test for non-Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105257 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix PR7272: when inlining through a callsite with byval arguments,
Duncan Sands [Mon, 31 May 2010 21:00:26 +0000 (21:00 +0000)]
Fix PR7272: when inlining through a callsite with byval arguments,
the newly created allocas may be used by inlined calls, so these
need to have their tail call flags cleared.  Fixes PR7272.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105255 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAdd a test for the llvm-gcc commit in r90200.
Eric Christopher [Mon, 31 May 2010 20:39:10 +0000 (20:39 +0000)]
Add a test for the llvm-gcc commit in r90200.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105253 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agofix PR6623: when optimizing for size, don't inline memcpy/memsets
Chris Lattner [Mon, 31 May 2010 17:30:14 +0000 (17:30 +0000)]
fix PR6623: when optimizing for size, don't inline memcpy/memsets
that are too large.  This causes the freebsd bootloader to be too
large apparently.

It's unclear if this should be an -Os or -Oz thing.  Thoughts welcome.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105228 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoupgrade and filecheckize this test.
Chris Lattner [Mon, 31 May 2010 17:27:17 +0000 (17:27 +0000)]
upgrade and filecheckize this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105227 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agothe 'limit' argument to FindOptimalMemOpLowering is unsigned, not uint64_t.
Chris Lattner [Mon, 31 May 2010 17:12:23 +0000 (17:12 +0000)]
the 'limit' argument to FindOptimalMemOpLowering is unsigned, not uint64_t.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105226 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agorevert r105223 which broke all my testing.
Chris Lattner [Mon, 31 May 2010 17:10:45 +0000 (17:10 +0000)]
revert r105223 which broke all my testing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105225 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoFix count so that it doesn't make an extra fread call after
Dan Gohman [Mon, 31 May 2010 16:13:45 +0000 (16:13 +0000)]
Fix count so that it doesn't make an extra fread call after
EOF is detected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105223 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoAvoid swap when a copy suffices.
Benjamin Kramer [Mon, 31 May 2010 12:50:41 +0000 (12:50 +0000)]
Avoid swap when a copy suffices.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105220 91177308-0d34-0410-b5e6-96231b3b80d8

13 years agoThe memcpy intrinsic only takes i8* for %src and %dst, so cast them to that
Nick Lewycky [Mon, 31 May 2010 06:16:35 +0000 (06:16 +0000)]
The memcpy intrinsic only takes i8* for %src and %dst, so cast them to that
first. Fixes PR7265.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105206 91177308-0d34-0410-b5e6-96231b3b80d8