oota-llvm.git
15 years agoFix PR4528. This scavenger assertion is too strict. The two-address value is
Evan Cheng [Tue, 4 Aug 2009 16:52:44 +0000 (16:52 +0000)]
Fix PR4528. This scavenger assertion is too strict. The two-address value is
killed by another operand.

There is probably a better fix. Either 1) scavenger can look at other operands, or
2) livevariables can be smarter about kill markers. Patches welcome.

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

15 years agoAvoid compiler warning (in -Asserts mode)
Daniel Dunbar [Tue, 4 Aug 2009 16:46:12 +0000 (16:46 +0000)]
Avoid compiler warning (in -Asserts mode)

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

15 years agoenhance codegen to put 16-bit character strings into the
Chris Lattner [Tue, 4 Aug 2009 16:27:13 +0000 (16:27 +0000)]
enhance codegen to put 16-bit character strings into the
__TEXT,__ustring section on darwin.

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

15 years agofix a fixme: don't create an explicit "CStringSection" for ELF,
Chris Lattner [Tue, 4 Aug 2009 16:19:50 +0000 (16:19 +0000)]
fix a fixme: don't create an explicit "CStringSection" for ELF,
it is just being used as a prefix, so forward substitute it directly.

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

15 years agoAdd support emiting for 2/4 byte mergable strings to the ".rodata.str*"
Chris Lattner [Tue, 4 Aug 2009 16:13:09 +0000 (16:13 +0000)]
Add support emiting for 2/4 byte mergable strings to the ".rodata.str*"
section on ELF targets.

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

15 years ago* Use "svn export" instead of "svn co" and avoid cleaning up .svn dirs
Misha Brukman [Tue, 4 Aug 2009 15:47:18 +0000 (15:47 +0000)]
* Use "svn export" instead of "svn co" and avoid cleaning up .svn dirs
* Use "svn info" to get last revision in repo, will get matching tarballs
* Now run "svn -q" since "svn info" tells us the revision number

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

15 years agoOoops, I was too fast to commit the wrong fix :(
Anton Korobeynikov [Tue, 4 Aug 2009 11:18:31 +0000 (11:18 +0000)]
Ooops, I was too fast to commit the wrong fix :(

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

15 years agoFix a typo - this unbreaks llvm-gcc build on arm
Anton Korobeynikov [Tue, 4 Aug 2009 11:12:51 +0000 (11:12 +0000)]
Fix a typo - this unbreaks llvm-gcc build on arm

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

15 years agoThumb2 does not have ib (increment before) and da (decrement after) forms of ldm...
Evan Cheng [Tue, 4 Aug 2009 08:34:18 +0000 (08:34 +0000)]
Thumb2 does not have ib (increment before) and da (decrement after) forms of ldm / stm.

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

15 years agoUse separate ValueList for metadata.
Devang Patel [Tue, 4 Aug 2009 06:00:18 +0000 (06:00 +0000)]
Use separate ValueList for metadata.
This fixes PR4666.

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

15 years agomake MergeableCString be a SectionKind "abstract class", and
Chris Lattner [Tue, 4 Aug 2009 05:35:56 +0000 (05:35 +0000)]
make MergeableCString be a SectionKind "abstract class", and
add new concrete versions for 1/2/4-byte mergable strings.

These are not actually created yet.

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

15 years agoMinor www site formating improvements.
Edward O'Callaghan [Tue, 4 Aug 2009 05:24:28 +0000 (05:24 +0000)]
Minor www site formating improvements.

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

15 years agoRevert recent bitcode writer patches.
Devang Patel [Tue, 4 Aug 2009 05:01:35 +0000 (05:01 +0000)]
Revert recent bitcode writer patches.

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

15 years agollvm-gcc checks the static asm variable is valid in ValidateRegisterVariable. Make...
Bill Wendling [Tue, 4 Aug 2009 04:48:31 +0000 (04:48 +0000)]
llvm-gcc checks the static asm variable is valid in ValidateRegisterVariable. Make this work for PPC.

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

15 years agoswitch ValueMap to using AssertingVH. This is an old patch I had laying
Chris Lattner [Tue, 4 Aug 2009 04:31:02 +0000 (04:31 +0000)]
switch ValueMap to using AssertingVH.  This is an old patch I had laying
around in a tree I forgot about.

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

15 years agoNo really, it's unused.
Daniel Dunbar [Tue, 4 Aug 2009 04:08:40 +0000 (04:08 +0000)]
No really, it's unused.

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

15 years agoRemove unused function.
Daniel Dunbar [Tue, 4 Aug 2009 04:04:25 +0000 (04:04 +0000)]
Remove unused function.

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

15 years agoRemove now unused Module argument to createTargetMachine.
Daniel Dunbar [Tue, 4 Aug 2009 04:02:45 +0000 (04:02 +0000)]
Remove now unused Module argument to createTargetMachine.

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

15 years agoFixed now.
Bill Wendling [Tue, 4 Aug 2009 03:46:54 +0000 (03:46 +0000)]
Fixed now.

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

15 years agoAdd test for PR4678
Rafael Espindola [Tue, 4 Aug 2009 03:44:37 +0000 (03:44 +0000)]
Add test for PR4678

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

15 years agoXFAIL for the moment.
Bill Wendling [Tue, 4 Aug 2009 03:40:47 +0000 (03:40 +0000)]
XFAIL for the moment.

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

15 years agoRemove dead code.
Devang Patel [Tue, 4 Aug 2009 02:54:15 +0000 (02:54 +0000)]
Remove dead code.

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

15 years agoFix MDString Abbrev setup.
Devang Patel [Tue, 4 Aug 2009 02:36:39 +0000 (02:36 +0000)]
Fix MDString Abbrev setup.

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

15 years agoConstants and Metadata share ValueList. This means they must be emitted interleaved...
Devang Patel [Tue, 4 Aug 2009 02:26:56 +0000 (02:26 +0000)]
Constants and Metadata share ValueList. This means they must be emitted interleaved (using appropriate BLOCK_IDs) otherwise ValuePtrs index gets out of sync.

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

15 years agoRemove ARM specific getInlineAsmLength. We'll rely on the simpler (and faster) generi...
Evan Cheng [Tue, 4 Aug 2009 01:56:09 +0000 (01:56 +0000)]
Remove ARM specific getInlineAsmLength. We'll rely on the simpler (and faster) generic algorithm for now. If more accurate computation is needed, we'll rely on the disassembler.

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

15 years agoLoad / store multiple pass fixes for Thumb2. Not enabled yet.
Evan Cheng [Tue, 4 Aug 2009 01:43:45 +0000 (01:43 +0000)]
Load / store multiple pass fixes for Thumb2. Not enabled yet.

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

15 years agoEmit sub r, #c instead of transforming it to add r, #-c if c fits in 8-bit. This...
Evan Cheng [Tue, 4 Aug 2009 01:41:15 +0000 (01:41 +0000)]
Emit sub r, #c instead of transforming it to add r, #-c if c fits in 8-bit. This is a bit of pre-mature optimization. 8-bit variant makes it likely it will be narrowed to a 16-bit instruction.

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

15 years agoLower Neon VLD* intrinsics to custom DAG nodes, and manually allocate the
Bob Wilson [Tue, 4 Aug 2009 00:36:16 +0000 (00:36 +0000)]
Lower Neon VLD* intrinsics to custom DAG nodes, and manually allocate the
results to fixed registers.

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

15 years agoMinor cleanup. No functional changes intended.
Bob Wilson [Tue, 4 Aug 2009 00:25:01 +0000 (00:25 +0000)]
Minor cleanup.  No functional changes intended.

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

15 years agoPropogate the Depth argument when calling
Dan Gohman [Tue, 4 Aug 2009 00:24:42 +0000 (00:24 +0000)]
Propogate the Depth argument when calling
TLI.computeMaskedBitsForTargetNode from ComputeMaskedBits, since
the former may call back into the latter. This fixes a major
compile time problem on a testcase that happnened to hit this
in a particularly bad way, PR4643.

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

15 years agoUpdate CMake files.
Ted Kremenek [Mon, 3 Aug 2009 23:44:01 +0000 (23:44 +0000)]
Update CMake files.

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

15 years agoeliminate CurrentSection, rename CurrentSection_ -> CurrentSection, make it private,
Chris Lattner [Mon, 3 Aug 2009 23:20:21 +0000 (23:20 +0000)]
eliminate CurrentSection, rename CurrentSection_ -> CurrentSection, make it private,
eliminate IsInTextSection.

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

15 years agoKill off SwitchToDataSection and SwitchToTextSection, woo.
Chris Lattner [Mon, 3 Aug 2009 23:10:34 +0000 (23:10 +0000)]
Kill off SwitchToDataSection and SwitchToTextSection, woo.

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

15 years agoremove an unneeded section switch.
Chris Lattner [Mon, 3 Aug 2009 23:02:45 +0000 (23:02 +0000)]
remove an unneeded section switch.

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

15 years agoswitch ppc to using SwitchToSection instead of textual section stuff.
Chris Lattner [Mon, 3 Aug 2009 22:52:21 +0000 (22:52 +0000)]
switch ppc to using SwitchToSection instead of textual section stuff.

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

15 years agoKeep track of metadata used by other metadata.
Devang Patel [Mon, 3 Aug 2009 22:51:10 +0000 (22:51 +0000)]
Keep track of metadata used by other metadata.

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

15 years agouse TLOF to compute the section for a function instead of
Chris Lattner [Mon, 3 Aug 2009 22:32:50 +0000 (22:32 +0000)]
use TLOF to compute the section for a function instead of
replicating the logic manually.

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

15 years agoMinor whitespace fix, so this doesn't look like a unary *.
Dan Gohman [Mon, 3 Aug 2009 22:30:18 +0000 (22:30 +0000)]
Minor whitespace fix, so this doesn't look like a unary *.

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

15 years agoAdd -disable-output. Thanks Bill!
Dan Gohman [Mon, 3 Aug 2009 22:24:22 +0000 (22:24 +0000)]
Add -disable-output. Thanks Bill!

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

15 years agoconvert macho stub emission to use SwitchToSection instead of
Chris Lattner [Mon, 3 Aug 2009 22:18:15 +0000 (22:18 +0000)]
convert macho stub emission to use SwitchToSection instead of
textual sections.

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

15 years agohoist some common code out of a switch
Chris Lattner [Mon, 3 Aug 2009 22:16:57 +0000 (22:16 +0000)]
hoist some common code out of a switch

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

15 years agoAdd a new Constant::getIntegerValue helper function, and convert a
Dan Gohman [Mon, 3 Aug 2009 22:07:33 +0000 (22:07 +0000)]
Add a new Constant::getIntegerValue helper function, and convert a
few places in InstCombine to use it, to fix problems handling pointer
types. This fixes the recent llvm-gcc bootstrap error.

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

15 years agothis really shouldn't switch sections without telling the asmprinter, but
Chris Lattner [Mon, 3 Aug 2009 21:57:00 +0000 (21:57 +0000)]
this really shouldn't switch sections without telling the asmprinter, but
hey it uses .previous, so it should work :)

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

15 years agoRe-apply LiveInterval index dumping patch, with fixes suggested by Bill
David Greene [Mon, 3 Aug 2009 21:55:09 +0000 (21:55 +0000)]
Re-apply LiveInterval index dumping patch, with fixes suggested by Bill
and others.

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

15 years agoEliminate textual section switching from the x86 backend, one
Chris Lattner [Mon, 3 Aug 2009 21:53:27 +0000 (21:53 +0000)]
Eliminate textual section switching from the x86 backend, one
more step towards "semantics sections"

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

15 years agoLower CONCAT_VECTOR during legalization instead of matching it during isel.
Bob Wilson [Mon, 3 Aug 2009 20:36:38 +0000 (20:36 +0000)]
Lower CONCAT_VECTOR during legalization instead of matching it during isel.
Add a testcase.

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

15 years agoFix Bug 4657: register scavenger asserts with subreg lowering
Jakob Stoklund Olesen [Mon, 3 Aug 2009 20:08:18 +0000 (20:08 +0000)]
Fix Bug 4657: register scavenger asserts with subreg lowering

When LowerSubregsInstructionPass::LowerInsert eliminates an INSERT_SUBREG
instriction because it is an identity copy, make sure that the same registers
are alive before and after the elimination.

When the super-register is marked <undef> this requires inserting an
IMPLICIT_DEF instruction to make sure the super register is live.

Fix a related bug where a kill flag on the inserted sub-register was not transferred properly.

Finally, clear the undef flag in MachineInstr::addRegisterKilled. Undef implies dead and kill implies live, so they cant both be valid.

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

15 years agoMinor stylistic cleanups in the Blackfin target.
Jakob Stoklund Olesen [Mon, 3 Aug 2009 19:32:30 +0000 (19:32 +0000)]
Minor stylistic cleanups in the Blackfin target.

Thanks Chris.

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

15 years agoMake SimplifyDemandedUseBits generate vector constants where
Eli Friedman [Mon, 3 Aug 2009 19:15:42 +0000 (19:15 +0000)]
Make SimplifyDemandedUseBits generate vector constants where
appropriate.  Patch per report on llvmdev.  No testcase because the
original report didn't come with a testcase, and I can't come up with a case
that actually fails.

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

15 years agomake getObjFileLowering() return a non-const reference.
Chris Lattner [Mon, 3 Aug 2009 19:12:26 +0000 (19:12 +0000)]
make getObjFileLowering() return a non-const reference.

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

15 years agoremove a dead switch directive, replace it with some
Chris Lattner [Mon, 3 Aug 2009 19:10:44 +0000 (19:10 +0000)]
remove a dead switch directive, replace it with some
code that I will be using shortly.

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

15 years agoRevert 77974. It breaks 3 of the ARM tests.
Bob Wilson [Mon, 3 Aug 2009 19:06:29 +0000 (19:06 +0000)]
Revert 77974.  It breaks 3 of the ARM tests.

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

15 years agoRemove neverHasSideEffects on MMX_MOVD64rrv164 since it has a matching pattern.
Evan Cheng [Mon, 3 Aug 2009 18:07:19 +0000 (18:07 +0000)]
Remove neverHasSideEffects on MMX_MOVD64rrv164 since it has a matching pattern.

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

15 years agoeliminate textual section switching from intel asm printer.
Chris Lattner [Mon, 3 Aug 2009 18:06:07 +0000 (18:06 +0000)]
eliminate textual section switching from intel asm printer.
This will cause it to enter the ".text" section instead of "_text"
but masm is already broken.

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

15 years agomake SwitchToSection accept null sections for now.
Chris Lattner [Mon, 3 Aug 2009 18:04:42 +0000 (18:04 +0000)]
make SwitchToSection accept null sections for now.

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

15 years agoChange C, CBE, MSIL to not provide target data via getTargetData().
Daniel Dunbar [Mon, 3 Aug 2009 17:40:25 +0000 (17:40 +0000)]
Change C, CBE, MSIL to not provide target data via getTargetData().
 - The theory is these should never actually be called, since these boil down to
   passes which can access the target data via the standard mechanism.

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

15 years agoAllow targets to custom handle softening of results or operands before trying the...
Sanjiv Gupta [Mon, 3 Aug 2009 17:35:21 +0000 (17:35 +0000)]
Allow targets to custom handle softening of results or operands before trying the standard stuff.

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

15 years agoProvide target data from the module if the target machine doesn't have any.
Daniel Dunbar [Mon, 3 Aug 2009 17:34:19 +0000 (17:34 +0000)]
Provide target data from the module if the target machine doesn't have any.

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

15 years agollvm_report_error already prints "LLVM ERROR:". So stop reporting errors like "LLVM...
Benjamin Kramer [Mon, 3 Aug 2009 13:33:33 +0000 (13:33 +0000)]
llvm_report_error already prints "LLVM ERROR:". So stop reporting errors like "LLVM ERROR: llvm: error:" or "LLVM ERROR: ERROR:".

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

15 years agoUnbreak win64 compilation callback.
Anton Korobeynikov [Mon, 3 Aug 2009 08:43:36 +0000 (08:43 +0000)]
Unbreak win64 compilation callback.
Since we're generating stubs by hands we don't follow the ABI and don't
create a register spill area.
Don't use this area in compilation callback!

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

15 years agoFix a coaelescer bug. If a copy val# is extended to eliminate a non-trivially coalesc...
Evan Cheng [Mon, 3 Aug 2009 08:41:59 +0000 (08:41 +0000)]
Fix a coaelescer bug. If a copy val# is extended to eliminate a non-trivially coalesced copy, and the copy kills its source register. Trim the source register's live range to the last use if possible. This fixes up kill marker to make the scavenger happy.

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

15 years agoCreate proper frame index for FP
Anton Korobeynikov [Mon, 3 Aug 2009 08:14:30 +0000 (08:14 +0000)]
Create proper frame index for FP

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

15 years agoPerform bitconvert to proper type
Anton Korobeynikov [Mon, 3 Aug 2009 08:14:14 +0000 (08:14 +0000)]
Perform bitconvert to proper type

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

15 years agoAdd 'Indirect' LocInfo class and use to pass __m128 on win64. Also minore fixes here...
Anton Korobeynikov [Mon, 3 Aug 2009 08:13:56 +0000 (08:13 +0000)]
Add 'Indirect' LocInfo class and use to pass __m128 on win64. Also minore fixes here and there (mostly __m64).

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

15 years agoCleanup Darwin MMX calling conv stuff - make the stuff more generic. This also fixes...
Anton Korobeynikov [Mon, 3 Aug 2009 08:13:24 +0000 (08:13 +0000)]
Cleanup Darwin MMX calling conv stuff - make the stuff more generic. This also fixes a subtle bug, when 6th v1i64 argument passed wrongly.

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

15 years agoUnbreak Win64 CC. Step one: honour register save area, fix some alignment and provide...
Anton Korobeynikov [Mon, 3 Aug 2009 08:12:53 +0000 (08:12 +0000)]
Unbreak Win64 CC. Step one: honour register save area, fix some alignment and provide a different set of call-clobberred registers.

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

15 years agoRemove the GCC path from libLTO. This has been superceded by setAssemblerPath.
Nick Lewycky [Mon, 3 Aug 2009 07:16:42 +0000 (07:16 +0000)]
Remove the GCC path from libLTO. This has been superceded by setAssemblerPath.

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

15 years agoAdd NamedMDNode destructor.
Devang Patel [Mon, 3 Aug 2009 06:19:01 +0000 (06:19 +0000)]
Add NamedMDNode destructor.

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

15 years agoUse movd instead of movq
Rafael Espindola [Mon, 3 Aug 2009 05:21:05 +0000 (05:21 +0000)]
Use movd instead of movq

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

15 years agoAdd FileUpdate tool, conditionally updates its output based on its input.
Daniel Dunbar [Mon, 3 Aug 2009 05:12:16 +0000 (05:12 +0000)]
Add FileUpdate tool, conditionally updates its output based on its input.
 - Gratuitous and unused, but possibly useful one day.

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

15 years agoFix a race condition in getting the process exit code on Win32.
Daniel Dunbar [Mon, 3 Aug 2009 05:02:46 +0000 (05:02 +0000)]
Fix a race condition in getting the process exit code on Win32.

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

15 years agoRemove now unused arguments from TargetRegistry::lookupTarget.
Daniel Dunbar [Mon, 3 Aug 2009 04:20:57 +0000 (04:20 +0000)]
Remove now unused arguments from TargetRegistry::lookupTarget.

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

15 years agoThese are done.
Evan Cheng [Mon, 3 Aug 2009 04:08:36 +0000 (04:08 +0000)]
These are done.

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

15 years agoPass target triple string in to TargetMachine constructor.
Daniel Dunbar [Mon, 3 Aug 2009 04:03:51 +0000 (04:03 +0000)]
Pass target triple string in to TargetMachine constructor.

This is not just a matter of passing in the target triple from the module;
currently backends are making decisions based on the build and host
architecture. The goal is to migrate to making these decisions based off of the
triple (in conjunction with the feature string). Thus most clients pass in the
target triple, or the host triple if that is empty.

This has one important change in the way behavior of the JIT and llc.

For the JIT, it was previously selecting the Target based on the host
(naturally), but it was setting the target machine features based on the triple
from the module. Now it is setting the target machine features based on the
triple of the host.

For LLC, -march was previously only used to select the target, the target
machine features were initialized from the module's triple (which may have been
empty). Now the target triple is taken from the module, or the host's triple is
used if that is empty. Then the triple is adjusted to match -march.

The take away is that -march for llc is now used in conjunction with the host
triple to initialize the subtarget. If users want more deterministic behavior
from llc, they should use -mtriple, or set the triple in the input module.

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

15 years agoFix the instruction encoding.
Rafael Espindola [Mon, 3 Aug 2009 03:27:05 +0000 (03:27 +0000)]
Fix the instruction encoding.

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

15 years agoRemove a bitcast that was a no-op.
Rafael Espindola [Mon, 3 Aug 2009 03:00:05 +0000 (03:00 +0000)]
Remove a bitcast that was a no-op.
Thanks to Eli Friedman for noticing it.

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

15 years agoUse movq to move 64 bits in and out of mmx registers.
Rafael Espindola [Mon, 3 Aug 2009 02:45:34 +0000 (02:45 +0000)]
Use movq to move 64 bits in and out of mmx registers.
Fixes PR4669

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

15 years agoUse the i12 variant of load / store opcodes if offset is zero. Now we pass all of...
Evan Cheng [Mon, 3 Aug 2009 02:38:06 +0000 (02:38 +0000)]
Use the i12 variant of load / store opcodes if offset is zero. Now we pass all of multisource as well.

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

15 years agoRemove -disable-mips-abicall and -enable-mips-absolute-call command-line
Eli Friedman [Mon, 3 Aug 2009 02:22:28 +0000 (02:22 +0000)]
Remove -disable-mips-abicall and -enable-mips-absolute-call command-line
options, which don't appear to be useful.  -enable-mips-absolute-call is
completely unused (and unless I'm mistaken, is supposed to have the
same effect that -relocation-model=dynamic-no-pic should have),
and -disable-mips-abicall appears to be effectively a
synonym for -relocation-model=static. Adjust the few users of hasABICall
to checks which seem more appropriate.  Update MipsSubtarget,
MipsTargetMachine, and MipselTargetMachine to synchronize with recent
changes.

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

15 years agoRestrict LDA to affine subscripts.
Andreas Bolka [Mon, 3 Aug 2009 01:03:48 +0000 (01:03 +0000)]
Restrict LDA to affine subscripts.

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

15 years agoFix some comments referring to std::cerr.
Daniel Dunbar [Mon, 3 Aug 2009 01:02:24 +0000 (01:02 +0000)]
Fix some comments referring to std::cerr.

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

15 years ago- s/DOUT/DEBUG(errs()/g
Bill Wendling [Mon, 3 Aug 2009 00:11:34 +0000 (00:11 +0000)]
- s/DOUT/DEBUG(errs()/g
- Tidy up some headers.

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

15 years agoMove most targets TargetMachine constructor to only taking a target triple.
Daniel Dunbar [Sun, 2 Aug 2009 23:37:13 +0000 (23:37 +0000)]
Move most targets TargetMachine constructor to only taking a target triple.
 - The C, C++, MSIL, and Mips backends still need the module.

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

15 years agoExpand LDA testcases.
Andreas Bolka [Sun, 2 Aug 2009 23:28:14 +0000 (23:28 +0000)]
Expand LDA testcases.

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

15 years agoAdd extra SEXT pattern.
Richard Osborne [Sun, 2 Aug 2009 22:45:24 +0000 (22:45 +0000)]
Add extra SEXT pattern.

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

15 years agoThe x86 jit doesn't generate a def_cfa_offset unwind instruction after the
Bill Wendling [Sun, 2 Aug 2009 22:25:37 +0000 (22:25 +0000)]
The x86 jit doesn't generate a def_cfa_offset unwind instruction after the
pushes in the function prolog if the function doesn't have any stack space,
i.e. for a prolog like:

0x40011870:     push %r15
0x40011872:     push %r14
0x40011874:     push %rbx

Patch by Zoltan!

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

15 years agoNormalize Subtarget constructors to take a target triple string instead of
Daniel Dunbar [Sun, 2 Aug 2009 22:11:08 +0000 (22:11 +0000)]
Normalize Subtarget constructors to take a target triple string instead of
Module*.

Also, dropped uses of TargetMachine where unnecessary. The only target which
still takes a TargetMachine& is Mips, I would appreciate it if someone would
normalize this to match other targets.

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

15 years agoRemove unneeded intrinsics from Blackfin backend.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 21:49:05 +0000 (21:49 +0000)]
Remove unneeded intrinsics from Blackfin backend.

__builtin_bfin_ones does the same as ctpop, so it can be implemented in the front-end.

__builtin_bfin_loadbytes loads from an unaligned pointer with the disalignexcpt instruction. It does the same as loading from a pointer with the low bits masked. It is better if the front-end creates a masked load. We can always instruction select the masked to disalignexcpt+load.

We keep csync/ssync/idle. These intrinsics represent instructions that need workarounds for some silicon revisions. We may even want to convert inline assembler to intrinsics to enable the workarounds.

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

15 years agoFix the build for people with oprofile installed.
Nick Lewycky [Sun, 2 Aug 2009 20:51:44 +0000 (20:51 +0000)]
Fix the build for people with oprofile installed.

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

15 years agoEmpty arguments need to be quoted on Win32.
Daniel Dunbar [Sun, 2 Aug 2009 20:41:09 +0000 (20:41 +0000)]
Empty arguments need to be quoted on Win32.

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

15 years agoFix issue in regscavenger when scavenging a callee-saved register that has not been...
Jakob Stoklund Olesen [Sun, 2 Aug 2009 20:29:41 +0000 (20:29 +0000)]
Fix issue in regscavenger when scavenging a callee-saved register that has not been spilled.

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

15 years agoOne two many newlines at end of file LLVMContextImpl.cpp
Edward O'Callaghan [Sun, 2 Aug 2009 20:06:26 +0000 (20:06 +0000)]
One two many newlines at end of file LLVMContextImpl.cpp

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

15 years agoTweak svn:ignore more
Daniel Dunbar [Sun, 2 Aug 2009 19:53:40 +0000 (19:53 +0000)]
Tweak svn:ignore more

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

15 years agoTweak svn:ignore
Daniel Dunbar [Sun, 2 Aug 2009 19:53:19 +0000 (19:53 +0000)]
Tweak svn:ignore

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

15 years agoAdjust comment to distinguish between target name and triple target name they
Daniel Dunbar [Sun, 2 Aug 2009 19:41:20 +0000 (19:41 +0000)]
Adjust comment to distinguish between target name and triple target name they
match.

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

15 years agoFix no newline at end of LLVMContextImpl.cpp
Edward O'Callaghan [Sun, 2 Aug 2009 19:38:12 +0000 (19:38 +0000)]
Fix no newline at end of LLVMContextImpl.cpp

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

15 years agoNever add a kill flag to a constrained physical register in a two-addr instruction.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 19:13:03 +0000 (19:13 +0000)]
Never add a kill flag to a constrained physical register in a two-addr instruction.

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

15 years agoScavenger asserts.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 18:28:41 +0000 (18:28 +0000)]
Scavenger asserts.

Allow imp-def and imp-use of anything in the scavenger asserts, just like the machine code verifier.
Allow redefinition of a sub-register of a live register.

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

15 years agoAdd some basic blackfin intrinsics.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 18:28:11 +0000 (18:28 +0000)]
Add some basic blackfin intrinsics.

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

15 years agoAdd support for CPU features (i.e., bugs) and workarounds.
Jakob Stoklund Olesen [Sun, 2 Aug 2009 18:27:36 +0000 (18:27 +0000)]
Add support for CPU features (i.e., bugs) and workarounds.

This is just the framework to identify the needed workarounds. They are not actually implemented.

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