oota-llvm.git
14 years agoBasicBlock::getContext can no longer return a NULL so update the doc.
Erick Tryzelaar [Wed, 19 Aug 2009 17:40:05 +0000 (17:40 +0000)]
BasicBlock::getContext can no longer return a NULL so update the doc.

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

14 years agoUpdate the ocaml docs to work with LLVMContext.
Erick Tryzelaar [Wed, 19 Aug 2009 17:32:38 +0000 (17:32 +0000)]
Update the ocaml docs to work with LLVMContext.

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

14 years agoConvert the rest of the ocaml types and functions to use context.
Erick Tryzelaar [Wed, 19 Aug 2009 17:32:24 +0000 (17:32 +0000)]
Convert the rest of the ocaml types and functions to use context.

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

14 years agoReapply my less-lock-contention-in-leak-detector patch, now with new files
Owen Anderson [Wed, 19 Aug 2009 17:07:46 +0000 (17:07 +0000)]
Reapply my less-lock-contention-in-leak-detector patch, now with new files
actually added.

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

14 years agoAdd support for Neon VEXT (vector extract) shuffles.
Bob Wilson [Wed, 19 Aug 2009 17:03:43 +0000 (17:03 +0000)]
Add support for Neon VEXT (vector extract) shuffles.
This is derived from a patch by Anton Korzh.  I modified it to recognize
the VEXT shuffles during legalization and lower them to a target-specific
DAG node.

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

14 years agoFix a commento.
Daniel Dunbar [Wed, 19 Aug 2009 16:25:53 +0000 (16:25 +0000)]
Fix a commento.

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

14 years agoSpeculatively revert r79375, which may be breaking bootstrap, although in a
Daniel Dunbar [Wed, 19 Aug 2009 16:25:25 +0000 (16:25 +0000)]
Speculatively revert r79375, which may be breaking bootstrap, although in a
rather obscure way (the other candidate is r79377).

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

14 years agoUse the schedule itinerary operand use/def cycle information to adjust dependence...
David Goodwin [Wed, 19 Aug 2009 16:08:58 +0000 (16:08 +0000)]
Use the schedule itinerary operand use/def cycle information to adjust dependence edge latency for post-RA scheduling.

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

14 years agoTest commit access with a first act of vanity.
Sandeep Patel [Wed, 19 Aug 2009 15:07:40 +0000 (15:07 +0000)]
Test commit access with a first act of vanity.

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

14 years agoFix cmake build on non-x86 targets. Patch by
Duncan Sands [Wed, 19 Aug 2009 12:41:52 +0000 (12:41 +0000)]
Fix cmake build on non-x86 targets.  Patch by
Xerxes RĂ„nby.

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

14 years agoProper MSVC build fix (and remove my hack again). Patch by Yonggang Luo.
Benjamin Kramer [Wed, 19 Aug 2009 12:38:51 +0000 (12:38 +0000)]
Proper MSVC build fix (and remove my hack again). Patch by Yonggang Luo.

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

14 years agoAdd a hack to unbreak MSVC builds. str(n)casecmp are POSIX functions and aren't avail...
Benjamin Kramer [Wed, 19 Aug 2009 12:16:17 +0000 (12:16 +0000)]
Add a hack to unbreak MSVC builds. str(n)casecmp are POSIX functions and aren't available on windows (mingw defines them though).

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

14 years agoPR4737: Fix a nasty bug in load narrowing with non-power-of-two types.
Eli Friedman [Wed, 19 Aug 2009 08:46:10 +0000 (08:46 +0000)]
PR4737: Fix a nasty bug in load narrowing with non-power-of-two types.

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

14 years agoAdd the ocaml binding to LLVMBuildAggregateRet.
Erick Tryzelaar [Wed, 19 Aug 2009 08:37:00 +0000 (08:37 +0000)]
Add the ocaml binding to LLVMBuildAggregateRet.

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

14 years agoExpose some extra functions to llvm-c
Erick Tryzelaar [Wed, 19 Aug 2009 08:36:49 +0000 (08:36 +0000)]
Expose some extra functions to llvm-c

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

14 years agoFix up PHI nodes correctly in the presence of unreachable BBs, part two. Also
Nick Lewycky [Wed, 19 Aug 2009 07:16:57 +0000 (07:16 +0000)]
Fix up PHI nodes correctly in the presence of unreachable BBs, part two. Also
delete a newed pointer, and improve readability a little bit.

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

14 years agoAllow passing around LLVMContext in ocaml.
Erick Tryzelaar [Wed, 19 Aug 2009 06:40:29 +0000 (06:40 +0000)]
Allow passing around LLVMContext in ocaml.

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

14 years agoExuberantAsm is no more.
Chris Lattner [Wed, 19 Aug 2009 06:36:30 +0000 (06:36 +0000)]
ExuberantAsm is no more.

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

14 years agofix asmstreaming of 2/4 byte elements with pow-2 alignments.
Chris Lattner [Wed, 19 Aug 2009 06:35:36 +0000 (06:35 +0000)]
fix asmstreaming of 2/4 byte elements with pow-2 alignments.

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

14 years agoBe more careful when modifying PHI nodes. Patch by Andre Tavares.
Nick Lewycky [Wed, 19 Aug 2009 06:24:33 +0000 (06:24 +0000)]
Be more careful when modifying PHI nodes. Patch by Andre Tavares.

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

14 years agoswitch asmprinter to emit alignments through OutStreamer.
Chris Lattner [Wed, 19 Aug 2009 06:12:02 +0000 (06:12 +0000)]
switch asmprinter to emit alignments through OutStreamer.

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

14 years agoeliminate AsmPrinter::SwitchToSection and just have clients
Chris Lattner [Wed, 19 Aug 2009 05:49:37 +0000 (05:49 +0000)]
eliminate AsmPrinter::SwitchToSection and just have clients
talk to the MCStreamer directly instead.

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

14 years agoBroke line before break.
Andreas Neustifter [Wed, 19 Aug 2009 05:44:39 +0000 (05:44 +0000)]
Broke line before break.

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

14 years agoMake a SmallVector size more reasonable.
Daniel Dunbar [Wed, 19 Aug 2009 05:08:06 +0000 (05:08 +0000)]
Make a SmallVector size more reasonable.

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

14 years agoFix gcc-4.4/fedora 11 by adding a sentinel value to SimpleValueType.
Erick Tryzelaar [Wed, 19 Aug 2009 02:53:07 +0000 (02:53 +0000)]
Fix gcc-4.4/fedora 11 by adding a sentinel value to SimpleValueType.

gcc-4.4 was optimizing away comparisons against SimpleValueType when
it was compared to a value larger than the largest value in the enum.
This patch works around it by adding one extra item to the enum so
that these tests will now be valid.

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

14 years agoAdded an option to have the PBQP allocator attempt coalescing during allocation.
Lang Hames [Wed, 19 Aug 2009 01:36:14 +0000 (01:36 +0000)]
Added an option to have the PBQP allocator attempt coalescing during allocation.

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

14 years agoRevert my last patch temporarily.
Owen Anderson [Wed, 19 Aug 2009 00:52:13 +0000 (00:52 +0000)]
Revert my last patch temporarily.

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

14 years agoPrivatize part of the leak detector mechanism, which turned out to be heavily contended
Owen Anderson [Wed, 19 Aug 2009 00:37:02 +0000 (00:37 +0000)]
Privatize part of the leak detector mechanism, which turned out to be heavily contended
when trying to run opt in parallel.  This lets parallel opt crunch 403.gcc in about a third
of the time.

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

14 years agoraw_ostream: Simplify write(unsigned char) to match write(const char*, unsigned).
Daniel Dunbar [Wed, 19 Aug 2009 00:23:39 +0000 (00:23 +0000)]
raw_ostream: Simplify write(unsigned char) to match write(const char*, unsigned).

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

14 years agoraw_ostream: Remove pointless redefinitions of tell().
Daniel Dunbar [Wed, 19 Aug 2009 00:14:25 +0000 (00:14 +0000)]
raw_ostream: Remove pointless redefinitions of tell().
 - The base class implementation is correct.

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

14 years agoFix SimplifyLibcalls and ValueTracking to check mayBeOverridden
Dan Gohman [Wed, 19 Aug 2009 00:11:12 +0000 (00:11 +0000)]
Fix SimplifyLibcalls and ValueTracking to check mayBeOverridden
before performing optimizations based on constant string values.

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

14 years agoBe tidy and use a break to exit from a switch block rather than
Dan Gohman [Tue, 18 Aug 2009 23:52:48 +0000 (23:52 +0000)]
Be tidy and use a break to exit from a switch block rather than
just falling through the end.

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

14 years agoraw_ostream: Add the capability for subclasses to manually install an external
Daniel Dunbar [Tue, 18 Aug 2009 23:42:36 +0000 (23:42 +0000)]
raw_ostream: Add the capability for subclasses to manually install an external
buffer.

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

14 years agoLegalize the shift amount operand of SRL_PARTS, SHL_PARTS, and
Dan Gohman [Tue, 18 Aug 2009 23:36:17 +0000 (23:36 +0000)]
Legalize the shift amount operand of SRL_PARTS, SHL_PARTS, and
SRA_PARTS, as is done for SRL, SHL, and SRA.

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

14 years agoraw_ostream: Reduce FormattedStream's reliance on raw_ostream's implementation.
Daniel Dunbar [Tue, 18 Aug 2009 23:36:04 +0000 (23:36 +0000)]
raw_ostream: Reduce FormattedStream's reliance on raw_ostream's implementation.
 - Kill off begin(), end(), and iterator. It isn't clear what these
   mean. Instead provide getBufferStart(), which can be used with
   GetNumBytesInBuffer to the same effect.

 - Update ComputeColumn to take arguments for the buffer to scan, this
   simplifies the implementation of write_impl substantially.

 - This should also fix possible problems with the scanning pointer pointing
   outside of the current raw_ostream buffer.

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

14 years agoChanges DOUT references in the PBQP allocator to use DEBUG(errs() ...)
Lang Hames [Tue, 18 Aug 2009 23:34:50 +0000 (23:34 +0000)]
Changes DOUT references in the PBQP allocator to use DEBUG(errs() ...)

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

14 years agoImplement sse4.2 string/text processing instructions:
Eric Christopher [Tue, 18 Aug 2009 22:50:32 +0000 (22:50 +0000)]
Implement sse4.2 string/text processing instructions:
Add patterns and instruction encoding information.
Add custom lowering to deal with hardwired return register of
uncertain type (xmm0).

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

14 years agoFirst steps to document new release plan.
Tanya Lattner [Tue, 18 Aug 2009 22:33:28 +0000 (22:33 +0000)]
First steps to document new release plan.

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

14 years agoSpeed up raw_ostream::<<(unsigned long long) for 32-bit systems by doing most
Daniel Dunbar [Tue, 18 Aug 2009 22:24:00 +0000 (22:24 +0000)]
Speed up raw_ostream::<<(unsigned long long) for 32-bit systems by doing most
div/mods in 32-bits.

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

14 years agoSimplify RegScavenger::FindUnusedReg.
Jakob Stoklund Olesen [Tue, 18 Aug 2009 21:14:54 +0000 (21:14 +0000)]
Simplify RegScavenger::FindUnusedReg.

- Drop the Candidates argument and fix all callers. Now that RegScavenger
  tracks available registers accurately, there is no need to restict the
  search.
- Make sure that no aliases of the found register are in use. This was a potential bug.

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

14 years agoAdd support for mergeable sections back into the XCore backend.
Richard Osborne [Tue, 18 Aug 2009 21:14:31 +0000 (21:14 +0000)]
Add support for mergeable sections back into the XCore backend.

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

14 years agoFix a bug in raw_ostream::write(char) introduced by the change to
Dan Gohman [Tue, 18 Aug 2009 20:09:59 +0000 (20:09 +0000)]
Fix a bug in raw_ostream::write(char) introduced by the change to
allow underlying stream classes to decline buffering. After
calling SetBuffered(), re-check whether the stream is Unbuffered
in order to handle the case where the underlying stream has
declined buffering.

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

14 years agoRevert r78924, disabling buffering defeats all the fast paths in raw_ostream.
Daniel Dunbar [Tue, 18 Aug 2009 20:07:36 +0000 (20:07 +0000)]
Revert r78924, disabling buffering defeats all the fast paths in raw_ostream.

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

14 years agoImprove Triple to recognize the OS in i386-mingw32.
Daniel Dunbar [Tue, 18 Aug 2009 19:26:55 +0000 (19:26 +0000)]
Improve Triple to recognize the OS in i386-mingw32.

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

14 years agoMake various changes suggested by Chris.
David Greene [Tue, 18 Aug 2009 19:22:55 +0000 (19:22 +0000)]
Make various changes suggested by Chris.

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

14 years agoSurrounded variable in <tt> tags for consistency.
Misha Brukman [Tue, 18 Aug 2009 19:18:40 +0000 (19:18 +0000)]
Surrounded variable in <tt> tags for consistency.

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

14 years agoFix pasto in StringRef::count(char)
Daniel Dunbar [Tue, 18 Aug 2009 18:34:22 +0000 (18:34 +0000)]
Fix pasto in StringRef::count(char)

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

14 years agoPrivatize the ValueHandle global map. Because this is used so heavily throughout...
Owen Anderson [Tue, 18 Aug 2009 18:28:58 +0000 (18:28 +0000)]
Privatize the ValueHandle global map.  Because this is used so heavily throughout the code base, locking all accesses to
it is not practical performance-wise.

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

14 years agoAdd StringRef::count({char,StringRef})
Daniel Dunbar [Tue, 18 Aug 2009 18:26:35 +0000 (18:26 +0000)]
Add StringRef::count({char,StringRef})

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

14 years agoFix an uninitialized value warning in APFloat.
Erick Tryzelaar [Tue, 18 Aug 2009 18:20:37 +0000 (18:20 +0000)]
Fix an uninitialized value warning in APFloat.

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

14 years agoAdd CXXFLAGS to the Link lines as well in case someone used those instead
Eric Christopher [Tue, 18 Aug 2009 18:07:35 +0000 (18:07 +0000)]
Add CXXFLAGS to the Link lines as well in case someone used those instead
of LDFLAGS.

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

14 years agoPut data with relocations in the same sections as data without relocations.
Richard Osborne [Tue, 18 Aug 2009 17:58:17 +0000 (17:58 +0000)]
Put data with relocations in the same sections as data without relocations.

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

14 years agoAttempt to normalize test results.
Daniel Dunbar [Tue, 18 Aug 2009 17:38:27 +0000 (17:38 +0000)]
Attempt to normalize test results.

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

14 years agoMake this test less sensitive to assembler differences.
Dan Gohman [Tue, 18 Aug 2009 17:19:46 +0000 (17:19 +0000)]
Make this test less sensitive to assembler differences.

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

14 years agoalphabeticalize
Chris Lattner [Tue, 18 Aug 2009 17:04:44 +0000 (17:04 +0000)]
alphabeticalize

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

14 years agofix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections
Chris Lattner [Tue, 18 Aug 2009 16:56:17 +0000 (16:56 +0000)]
fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections

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

14 years agoforce a triple so this passes on darwin
Chris Lattner [Tue, 18 Aug 2009 16:55:45 +0000 (16:55 +0000)]
force a triple so this passes on darwin

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

14 years agoGeneralize ScalarEvolution to be able to analyze GEPs when
Dan Gohman [Tue, 18 Aug 2009 16:46:41 +0000 (16:46 +0000)]
Generalize ScalarEvolution to be able to analyze GEPs when
TargetData is not present. It still uses TargetData when available.
This generalization also fixed some limitations in the TargetData
case; the attached testcase covers this.

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

14 years agonull streamer needs to maintain the current section as well.
Chris Lattner [Tue, 18 Aug 2009 16:46:29 +0000 (16:46 +0000)]
null streamer needs to maintain the current section as well.

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

14 years agoCMake: LLVM_ENABLE_PIC now defaults to ON, as in `configure'. This is
Oscar Fuentes [Tue, 18 Aug 2009 15:29:35 +0000 (15:29 +0000)]
CMake: LLVM_ENABLE_PIC now defaults to ON, as in `configure'. This is
required on some platforms for building shared libraries that link to
the LLVM libraries.

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

14 years agoMake tail merging handle blocks with repeated predecessors correctly, and
Dan Gohman [Tue, 18 Aug 2009 15:18:18 +0000 (15:18 +0000)]
Make tail merging handle blocks with repeated predecessors correctly, and
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
it breaks assumptions made in
MachineBasicBlock::isOnlyReachableByFallthrough.

Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
for PR4732.

test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
it being bugpoint-reduced to the point where it doesn't matter what the
condition for the branch is.

Add some more interesting code to
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
that originally motivated the RemoveDuplicateSuccessor code, to help
verify that the original problem isn't being re-broken.

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

14 years agoFix a bug that caused globalopt to miscompile tramp3d: don't miss
Dan Gohman [Tue, 18 Aug 2009 14:58:19 +0000 (14:58 +0000)]
Fix a bug that caused globalopt to miscompile tramp3d: don't miss
unruly indices for arrays that are members of structs.

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

14 years agoText sections should have 'exec' flag set. This seems to unbreak libstdc++ on linux.
Anton Korobeynikov [Tue, 18 Aug 2009 14:06:12 +0000 (14:06 +0000)]
Text sections should have 'exec' flag set. This seems to unbreak libstdc++ on linux.
Patch by Dmitry Gorbachev!

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

14 years agoFixed spelling of MSP430.
Misha Brukman [Tue, 18 Aug 2009 13:50:28 +0000 (13:50 +0000)]
Fixed spelling of MSP430.

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

14 years agoFix Triple to recognize the 'bfin' arch.
Daniel Dunbar [Tue, 18 Aug 2009 07:06:26 +0000 (07:06 +0000)]
Fix Triple to recognize the 'bfin' arch.

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

14 years agoMake AsmStreamer maintain a notion of the current section, pushing it up from the
Chris Lattner [Tue, 18 Aug 2009 06:15:16 +0000 (06:15 +0000)]
Make AsmStreamer maintain a notion of the current section, pushing it up from the
MCAsmStreamer.  Based on this, eliminate the current section from AsmPrinter.

While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert.  This change is in preparation for completely eliminating
asmprinter::switchtosection.

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

14 years agoadd a horrible hack to the dwarf printer. It looks like mingw is not specifying
Chris Lattner [Tue, 18 Aug 2009 06:13:03 +0000 (06:13 +0000)]
add a horrible hack to the dwarf printer.  It looks like mingw is not specifying
an EHFrame section, so we just emit ehframe data into a random section.

This is clearly bad.

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

14 years agoInclude valgrind in the steps to reproduce if valgrind was used to reproduce
Nick Lewycky [Tue, 18 Aug 2009 06:08:01 +0000 (06:08 +0000)]
Include valgrind in the steps to reproduce if valgrind was used to reproduce
the problem.

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

14 years agoremove some pointless null switchtosections. The IntelAsmPrinter doesn't really...
Chris Lattner [Tue, 18 Aug 2009 06:03:07 +0000 (06:03 +0000)]
remove some pointless null switchtosections.  The IntelAsmPrinter doesn't really work anyway.

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

14 years agoFix revsh pattern.
Evan Cheng [Tue, 18 Aug 2009 05:43:23 +0000 (05:43 +0000)]
Fix revsh pattern.

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

14 years agoadd support for some targetflags on GV operands. This allows us to
Chris Lattner [Tue, 18 Aug 2009 05:33:27 +0000 (05:33 +0000)]
add support for some targetflags on GV operands.  This allows us to
send instructions like:

NEW:  movl "L___stack_chk_guard$non_lazy_ptr" - "L1$pb"(%esi), %eax
OLD:  movl L___stack_chk_guard$non_lazy_ptr-"L1$pb"(%esi), %eax

through the streamer.  Several fixmes.

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

14 years agoRecognize xscale as an ARM arch.
Daniel Dunbar [Tue, 18 Aug 2009 04:51:26 +0000 (04:51 +0000)]
Recognize xscale as an ARM arch.
 - Patch by Yonggang Luo.

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

14 years agoAdd Triple matching for pic16 arch and solaris OS.
Daniel Dunbar [Tue, 18 Aug 2009 04:43:27 +0000 (04:43 +0000)]
Add Triple matching for pic16 arch and solaris OS.
 - Patch by Yonggang Luo.

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

14 years agofix another bozo bug
Chris Lattner [Tue, 18 Aug 2009 04:34:36 +0000 (04:34 +0000)]
fix another bozo bug

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

14 years agofix accidentally inverted conditional and add comment.
Chris Lattner [Tue, 18 Aug 2009 04:33:15 +0000 (04:33 +0000)]
fix accidentally inverted conditional and add comment.

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

14 years agoturn this conditional into something humans might actually
Chris Lattner [Tue, 18 Aug 2009 04:30:35 +0000 (04:30 +0000)]
turn this conditional into something humans might actually
be able to understand ;-)

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

14 years ago"-" should write to stdout, not stderr.
Chris Lattner [Tue, 18 Aug 2009 04:03:24 +0000 (04:03 +0000)]
"-" should write to stdout, not stderr.

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

14 years agoChange bugpoint to use Triple to make runtime decisions.
Daniel Dunbar [Tue, 18 Aug 2009 03:35:57 +0000 (03:35 +0000)]
Change bugpoint to use Triple to make runtime decisions.
 - This is cleaner, and makes bugpoint match the host instead of the build
   architecture.

 - Patch by Sandeep Patel!

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

14 years agoSeparate out Makefile defines so that we can keep the llvm
Eric Christopher [Tue, 18 Aug 2009 03:23:40 +0000 (03:23 +0000)]
Separate out Makefile defines so that we can keep the llvm
defined ones from the user defined ones. Propagate accordingly.

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

14 years agoAdd LLVMInitializeAllTargetInfos for C api, and update
Daniel Dunbar [Tue, 18 Aug 2009 03:03:27 +0000 (03:03 +0000)]
Add LLVMInitializeAllTargetInfos for C api, and update
LLVMInitializeNativeTarget to initialize target info.
 - Patch by Jose Fonseca.

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

14 years agoMake TargetData optional in MemCpyOptimizer.
Dan Gohman [Tue, 18 Aug 2009 01:17:52 +0000 (01:17 +0000)]
Make TargetData optional in MemCpyOptimizer.

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

14 years agoEven more Apple style build horribleness.
Evan Cheng [Tue, 18 Aug 2009 00:56:17 +0000 (00:56 +0000)]
Even more Apple style build horribleness.

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

14 years agoMake TargetData optional in SimplifyLibCalls.
Dan Gohman [Tue, 18 Aug 2009 00:48:13 +0000 (00:48 +0000)]
Make TargetData optional in SimplifyLibCalls.

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

14 years agoRegenerate
Anton Korobeynikov [Tue, 18 Aug 2009 00:40:51 +0000 (00:40 +0000)]
Regenerate

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

14 years agoThe attached patches attempt to fix cross builds. For example, if you
Anton Korobeynikov [Tue, 18 Aug 2009 00:40:33 +0000 (00:40 +0000)]
The attached patches attempt to fix cross builds. For example, if you
try to use i686-darwin to build for arm-eabi, you'll quickly run into
several false assumptions that the target OS must be the same as the
host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
help builds like "make check" and the test-suite able to cross
compile. Along the way a target of *-unknown-eabi is defined as
"Freestanding" so that TARGET_OS checks have something to work with.

Patch by Sandeep Patel!

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

14 years agoLLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.
Edward O'Callaghan [Tue, 18 Aug 2009 00:24:36 +0000 (00:24 +0000)]
LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.

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

14 years agoFix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignment
Dan Gohman [Tue, 18 Aug 2009 00:20:06 +0000 (00:20 +0000)]
Fix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignment
returns a log2 value.

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

14 years agoPowerPC inline asm was emitting two output operands
Dale Johannesen [Tue, 18 Aug 2009 00:18:39 +0000 (00:18 +0000)]
PowerPC inline asm was emitting two output operands
for a single "m" constraint; this is wrong because the
opcode of a load or store would have to change in parallel.
This patch makes it always compute addresses into a register,
which is correct but not as efficient as possible.  7144566.

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

14 years agoAdd prefix only if it is needed.
Devang Patel [Mon, 17 Aug 2009 23:17:17 +0000 (23:17 +0000)]
Add prefix only if it is needed.

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

14 years agocleanups per review. Mostly cosmetic, plus use SmallVector in place of std::vector.
Jim Grosbach [Mon, 17 Aug 2009 21:40:03 +0000 (21:40 +0000)]
cleanups per review. Mostly cosmetic, plus use SmallVector in place of std::vector.

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

14 years ago#include <cstdlib> in the code listing for strtod.
John McCall [Mon, 17 Aug 2009 21:07:37 +0000 (21:07 +0000)]
#include <cstdlib> in the code listing for strtod.

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

14 years agoOops. find all llvm.dbg.global_variables.
Devang Patel [Mon, 17 Aug 2009 20:36:20 +0000 (20:36 +0000)]
Oops. find all llvm.dbg.global_variables.

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

14 years agoRemove a bit more cruft from the sjlj moving to a backend pass.
Jim Grosbach [Mon, 17 Aug 2009 20:25:04 +0000 (20:25 +0000)]
Remove a bit more cruft from the sjlj moving to a backend pass.

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

14 years agoUpdate CMakeLists.
Benjamin Kramer [Mon, 17 Aug 2009 18:47:11 +0000 (18:47 +0000)]
Update CMakeLists.

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

14 years agoUpdate comments to new-style syntax.
Dan Gohman [Mon, 17 Aug 2009 18:45:31 +0000 (18:45 +0000)]
Update comments to new-style syntax.

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

14 years agoFix build warning.
Daniel Dunbar [Mon, 17 Aug 2009 18:41:42 +0000 (18:41 +0000)]
Fix build warning.

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

14 years agoPrivatize the last bits of static type state.
Owen Anderson [Mon, 17 Aug 2009 17:59:35 +0000 (17:59 +0000)]
Privatize the last bits of static type state.

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

14 years agoTest the pass the test is actually for, instead of one that doesn't exist.
Nick Lewycky [Mon, 17 Aug 2009 17:41:29 +0000 (17:41 +0000)]
Test the pass the test is actually for, instead of one that doesn't exist.

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

14 years agoMove the TypeMap lock to a member on LLVMContextImpl.
Owen Anderson [Mon, 17 Aug 2009 17:34:27 +0000 (17:34 +0000)]
Move the TypeMap lock to a member on LLVMContextImpl.

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

14 years agoAdd locking around the attributes list.
Owen Anderson [Mon, 17 Aug 2009 17:10:58 +0000 (17:10 +0000)]
Add locking around the attributes list.

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