Commit Graph

31752 Commits

Author SHA1 Message Date
Bill Wendling
415c8cf837 Revert last patch. We need to put this into TargetLowering. There will be a lot
of EH stuff going into there, so we can wait to add them all then.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80036 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 21:31:39 +00:00
Daniel Dunbar
0adcd35f78 llvm-mc: Add statistic for number of fragments emitted by the assembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 21:10:45 +00:00
Bill Wendling
533534a295 Add the #include here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80032 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 21:09:50 +00:00
Bill Wendling
b9e7689c89 Add a target asm info hook to specify that particular bits of data in the FDE
should be forced to 32-bits (.long) even on 64-bit architectures. Darwin wants
these bits to be 64-bits (.quad). However, other platforms may disagree.

This is just the info right now and is part of a work-in-progress which needs
this. We'll add the actual *use* of this soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80024 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 20:21:17 +00:00
Sanjiv Gupta
b9ef7648b8 Start refactoring PIC16 TargetObjectFile code. Eventually, all the stuff from
PIC16Section will move to MCSectionPIC16.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80021 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 19:39:05 +00:00
Dan Gohman
041de42d42 Don't assume that two identical instructions that read from memory
will always return the same value. This isn't currently necessary,
since this code doesn't currently ever get called under circumstances
where it would matter, but it may some day.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80017 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:56:57 +00:00
Bob Wilson
a123239a5f Remove some unused SDNode definitions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80015 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:52:39 +00:00
Dan Gohman
26812320b7 Teach ScalarEvolution about GlobalAliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80014 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:49:57 +00:00
Dan Gohman
79b765d057 Use X86II::MO_NO_FLAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80012 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:47:44 +00:00
Bob Wilson
2a9df47abd Expose the instruction contraint string as an argument to the NLdSt class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:46:06 +00:00
Dan Gohman
76f497a351 Special-case static allocas in IndVarSimplify's loop invariant
sinking code, since they are special. If the loop preheader happens
to be the entry block of a function, don't sink static allocas
out of it. This fixes PR4775.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80010 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:42:10 +00:00
Owen Anderson
613bf1ef01 Comment-ify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80009 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:42:07 +00:00
Owen Anderson
55a0f1e41f Switch to SmallVector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80007 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:35:37 +00:00
Owen Anderson
60fd8be183 Pull out this predicate loop into a helper function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80006 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:26:32 +00:00
David Goodwin
88a589c4b3 Fixup register kills after scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80002 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:03:05 +00:00
Anton Korobeynikov
379a087cc7 Provide dynamic_stackalloc lowering for MSP430.
This fixes PR4769

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80001 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 17:00:23 +00:00
Dan Gohman
63a03cf585 Allocate the basic types inside the LLVMContextImpl instance,
rather than separately with new. Move the members above the
TypeMap members to avoid destruction order issues. This fixes
a leak of these objects, and eliminates an extra level of
indirection in Type::getInt32Ty and friends.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79997 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 16:00:35 +00:00
Dan Gohman
baa26395cc Make LLVM command-line tools overwrite their output files without -f.
This is conventional command-line tool behavior. -f now just means
"enable binary output on terminals".

Add a -f option to llvm-extract and llvm-link, for consistency.

Remove F_Force from raw_fd_ostream and enable overwriting and
truncating by default. Introduce an F_Excl flag to permit users to
enable a failure when the file already exists. This flag is
currently unused.

Update Makefiles and documentation accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 15:34:52 +00:00
Andreas Neustifter
cf48efcf3d Read profile files as binary as proposed in
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-August/025020.html.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79983 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 12:53:27 +00:00
Xerxes Ranby
3d47db50b3 Fix PR4772 ARM JIT.GlobalInFuction unittest by explicitly initialize MMI
to 0 during JITEmitter constructor.

Modified:
	lib/ExecutionEngine/JIT/JITEmitter.cpp



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79982 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 10:12:55 +00:00
Bill Wendling
7ccda0f2aa - Rename EmitCommonInformationEntry to EmitCIE.
- Rename EmitFunctionDescriptionEntry to EmitFDE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79981 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 08:08:33 +00:00
Devang Patel
2a610c7387 Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.
This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79977 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 05:24:07 +00:00
Bill Wendling
4bda11fbda - Emit new line after each FDE.
- Fix comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79971 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 02:32:05 +00:00
Bill Wendling
a6f91da8b2 Rename functions to something more descriptive. At the very least mention the
CIE and FDE in their names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79969 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 02:27:42 +00:00
Dale Johannesen
5fee49eff9 Allow multiple occurrences of -inline-threshold on
the command line.  This gives llvm-gcc developers
a way to control inlining (documented as "not intended
for end users").



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79966 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 01:13:58 +00:00
Owen Anderson
9db7e91fe8 Handle a corner case when extracing code regions where one of the immediate successor
of an extracted block contains a PHI using a value defined in the extracted region.

With this patch, the partial inliner now passes MultiSource/Applications.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79963 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 00:54:39 +00:00
Dale Johannesen
f6163dc856 Fix PR 4751, another difficulty with %a modifier on x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79961 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 00:16:14 +00:00
Oscar Fuentes
2e193f80eb CMake: updated list of source files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79959 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 00:02:29 +00:00
Scott Michel
f6045fe8c4 - Remove SelectSEXTi128 from SPUISelDAGToDAG.cpp, evidently, this is redundant
code, according to Anton (I'm not totally convinced, but we can always
  resurrect patches if we need to do so.)
- Start moving CellSPU's tests to prefer FileCheck.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79958 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 23:57:35 +00:00
Owen Anderson
9ea9fcdf65 When extracting SEME regions of code, the extractor needs to update the dominator tree for split return blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 23:32:14 +00:00
Scott Michel
f1fa4fd282 128-bit sign extension and vector shift cleanups, contributed by Ken Werner
(IBM).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79949 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 22:28:53 +00:00
Scott Michel
9b2420d2b2 Initialize ShufBytes, as gcc 4.4 can't detect that the entire array is
initialized and a warning about a potentially unintialized variable is
generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79946 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 21:53:27 +00:00
Andreas Neustifter
96135b617a This patch cleans up the ProfileInfo by
*) introducing new data type and export function of edge info for whole function (preparation for next patch).
*) renaming variables to make clear distinction between data and containers that contain this data.
*) updated comments and whitespaces.
*) made ProfileInfo::MissingValue a double (as it should be...).

(Discussed at http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090817/084955.html.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79940 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 21:37:48 +00:00
Daniel Dunbar
0c7761b3f9 llvm-mc/Mach-O: Preliminary support for indirect symbols.
- The indirect table itself isn't being filled in yet.

 - This isn't factored properly and is rather FIXMEd, but at the moment I'm more
   focused on figuring out what it needs to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79910 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 11:56:58 +00:00
Duncan Sands
bcef7df6ec Fix the build with gcc-4.4 on linux: header needed
for EOF.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79908 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 10:34:41 +00:00
Daniel Dunbar
688b55b436 Add llvm::Triple::getArchTypePrefix for getting the intrinsic prefix for an
identifier architecture.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79906 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 09:53:06 +00:00
Daniel Dunbar
6aff2fbd56 llvm-mc/Mach-O: Support symbol attributes.
- This is mostly complete, the main thing missing is .indirect_symbol support
   (which would be straight-forward, except that the way it is implemented in
   'as' makes getting an exact .o match interesting).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79899 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 08:40:12 +00:00
Daniel Dunbar
50e48b359e llvm-mc: Tweak undefined symbol handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 08:39:57 +00:00
Dan Gohman
cb1308b74a Correctly account for the Spaces array nul terminator. Thanks Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79894 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 04:43:38 +00:00
Dan Gohman
61ee100b97 raw_ostream::indent is used for PadToColumn which often prints more
than 16 spaces. Make the Spaces array wide enough to handle common cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79890 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 04:13:01 +00:00
Chris Lattner
67db6af60d eliminate a #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79888 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 04:07:51 +00:00
Chris Lattner
32e1eef631 split raw_os_ostream out to its own header and implementation file. This
means that raw_ostream no longer has to #include <iosfwd>.  Nothing in llvm
should use raw_os_ostream.h, but llvm-gcc and some unit tests do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79886 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 04:02:06 +00:00
Chris Lattner
23132b188b prune the #includes in raw_ostream.h by moving a
member out of line. ftostr is not particularly speedy,
so that method is presumably not perf sensitive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79885 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 03:52:50 +00:00
Dan Gohman
2d5e3acd2a Unbreak the build for HAVE_GV platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79883 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 03:23:12 +00:00
Chris Lattner
9661c13c37 remove a few dead insertion methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79882 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 02:39:26 +00:00
Dale Johannesen
a60e51f7e8 Make linkerprivate work for ARM and PPC. Testcase covers
all Darwin targets; could be split into separate tests for
the chip subdirectories, but from Chris' last mail on testing
I assume he'd rather have only one test.  Generic seems to be
the best available, maybe there should be a Darwin subdirectory?



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79877 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-24 01:03:42 +00:00
Oscar Fuentes
e029305bb0 CMake: Updated library dependencies and list of source files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79876 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 23:59:15 +00:00
Chris Lattner
91021d3390 remove the dead std::ostream APInt inserter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79875 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 23:11:28 +00:00
Chris Lattner
dbe89cd2f0 remove the last uses of Config/alloca.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79873 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:57:38 +00:00
Chris Lattner
40ef79d5e2 fix some problems with my last patch which happen when one of
(HAVE_GV && (HAVE_DOT || HAVE_FDP || HAVE_NEATO || \
                   HAVE_TWOPI || HAVE_CIRCO))
are true.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79872 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:53:53 +00:00
Chris Lattner
3bc14202ab just remove interpreter support for endianness mismatches. This was
really old code from when we were running sparcv9 bc files on x86
(before I ported llvm-gcc 3 to work on x86) :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:50:28 +00:00
Chris Lattner
9f3ff92ca8 remove use of alloca.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79870 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:49:13 +00:00
Chris Lattner
74382b7c69 Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
   for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
   clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
   instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 22:45:37 +00:00
Chris Lattner
28fb7c4a9a llvm/Support/Streams.h is now dead, zap it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79865 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 21:50:26 +00:00
Chris Lattner
e0c86afac6 Switch SubtargetFeature off of ostreams
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79864 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 21:41:43 +00:00
Chris Lattner
b683ea4712 eliminate the ostream version of CheckBitcodeOutputToConsole,
change the raw_ostream one to take the raw_ostream byref instead
of byptr.  Prune #includes, eliminate a use of Streams.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79863 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 21:36:09 +00:00
Daniel Dunbar
9441cfe488 Fix off-by-one in llvm::Format::print.
- This also shortens the Format.h implementation, and uses the print buffer
   fully (it was wasting a character).

 - This manifested as llvm-test failures, because one side effect was that
   raw_ostream would write garbage '\x00' values into the output stream if it
   happened that the string was at the end of the buffer. This meant that grep
   would report 'Binary file matches', which meant the silly pattern matching
   llvm-test eventually does would fail. Cute. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79862 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 20:31:39 +00:00
Jim Grosbach
a235d13217 SJLJ pass needs to punt if there's no personality function available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79858 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 18:13:48 +00:00
Chris Lattner
ca179340ce clean up #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79857 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 18:09:02 +00:00
Jakob Stoklund Olesen
46ff969ca6 Fix PR4753.
When undoing a reuse in ReuseInfo::GetRegForReload, check if it was only a
sub-register being used. The MachineOperand::getSubReg() method is only valid
for virtual registers, so we have to recover the sub-register index manually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79855 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 13:01:45 +00:00
Benjamin Kramer
072a56e37d Remove Streams.h from the targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79853 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 11:52:17 +00:00
Benjamin Kramer
cfa6ec92e6 Kill off more cerr/cout uses and prune includes a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79852 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 11:37:21 +00:00
Daniel Dunbar
e317bcc74c Fix -Asserts warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 10:29:55 +00:00
Benjamin Kramer
d227a3fb1a Remove uses of Streams.h from CommandLine.cpp, fix some whitespace and other minor tweaks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79847 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 10:01:13 +00:00
Benjamin Kramer
ae60324d46 Fix windows build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79845 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 08:57:52 +00:00
Daniel Dunbar
43ed267db3 Fix some refactos for iostream changes (in -Asserts mode).
- The world needs better C++ refactoring tools, can I get an Amen!?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79843 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 08:50:52 +00:00
Chris Lattner
d9ea85ab01 remove some uses of llvm/Support/Streams.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79842 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 08:43:55 +00:00
Chris Lattner
b515d75856 eliminate the std::ostream forms of the bitcode writing APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79840 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 07:49:08 +00:00
Chris Lattner
a81d29b391 remove uses of llvm/Support/Streams.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79838 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 07:33:14 +00:00
Chris Lattner
103289e938 convert LoopInfo.h and GraphWriter.h to use raw_ostream
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79836 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 07:19:13 +00:00
Chris Lattner
a36b81d64f eliminate DOUT and make Debug.h not include Streams.h anymore, woo!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79835 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 07:05:39 +00:00
Chris Lattner
4437ae213d eliminate uses of cerr()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 07:05:07 +00:00
Chris Lattner
893e1c90a0 eliminate the last DOUTs from the targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 06:49:22 +00:00
Chris Lattner
bbbfa99d3d remove a few DOUTs here and there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79832 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 06:35:02 +00:00
Chris Lattner
45cfe545ec Change Pass::print to take a raw ostream instead of std::ostream,
update all code that this affects.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79830 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 06:03:38 +00:00
Chris Lattner
791102fb11 eliminate the std::ostream form of WriteAsOperand and update clients.
This also updates dominator related stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 05:17:37 +00:00
Chris Lattner
79c5d3f971 remove the std::ostream version of module and type printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79823 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 04:52:46 +00:00
Chris Lattner
569f121f4e remove some DOUTs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79821 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 04:44:11 +00:00
Chris Lattner
bdff548e4d eliminate the "Value" printing methods that print to a std::ostream.
This required converting a bunch of stuff off DOUT and other cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 04:37:46 +00:00
Owen Anderson
b1352e9534 Use standard LLVM-style headers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79817 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 04:24:24 +00:00
Chris Lattner
37f077a8da switch a couple things off std::ostream
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79816 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 04:02:03 +00:00
Chris Lattner
b93a9a66ba switch from std::ostream to raw ostream, fix file header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79815 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 03:56:06 +00:00
Chris Lattner
c02497f5ba shoot a few more std::ostream print methods in the head.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79814 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 03:47:42 +00:00
Chris Lattner
705e07f578 remove various std::ostream version of printing methods from
MachineInstr and MachineOperand.  This required eliminating a
bunch of stuff that was using DOUT, I hope that bill doesn't
mind me stealing his fun. ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79813 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 03:41:05 +00:00
Chris Lattner
6456d3868d remove some DOUTs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79812 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 03:20:44 +00:00
Chris Lattner
cf143a4d91 remove std::ostream versions of printing stuff for MBB and MF,
upgrading a few things to use raw_ostream


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 03:13:20 +00:00
Chris Lattner
17e9edc4a7 Change raw_fd_ostream to take flags as an optional bitmask
instead of as two bools.  Use this to add a F_Append flag
which has the obvious behavior.

Other unrelated changes conflated into this patch:

1. REmove EH stuff from llvm-dis and llvm-as, the try blocks
   are dead.
2. Simplify the filename inference code in llvm-as/llvm-dis,
   because raw_fd_ostream does the right thing with '-'.
3. Switch machine verifier to use raw_ostream instead of ostream
   (Which is the thing that needed append in the first place).




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79807 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 02:51:22 +00:00
Chris Lattner
d74c556e9a convert some stuff to work on raw_ostreams instead of std::ostream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79803 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 01:12:47 +00:00
Chris Lattner
19ef669689 fix a gone file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79802 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 01:11:21 +00:00
Chris Lattner
372fefe8d2 remove some dead print method variants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79801 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 01:03:30 +00:00
Chris Lattner
b01acfae5b convert the DIE printing stuff to use raw_ostream instead of std::ostream.
Tweak #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79800 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 01:01:17 +00:00
Chris Lattner
623dd141b4 random code cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79798 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 00:51:47 +00:00
Chris Lattner
c281de1d84 remove some random indentation stuff, yay for efficiency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79797 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 00:51:00 +00:00
Chris Lattner
2d8e3d20be remove dead PrefixPrinter class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79796 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 00:47:04 +00:00
Chris Lattner
77942d4ee4 remove a dead class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79795 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 00:42:42 +00:00
Chris Lattner
6371ed5e2b random cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 00:35:30 +00:00
Eli Friedman
5aba5c0e88 Add check for completeness. Note that this doesn't actually have any
effect with the way the current code is structured.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79792 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-23 00:14:19 +00:00
Chris Lattner
de51ded2fa switch formattedstream to use raw_ostream::indent. This eliminates
the weird MAX_COLUMN_PAD limitation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79785 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 23:16:09 +00:00
Chris Lattner
c5a227ddd1 add a raw_ostream::indent method, to be used like:
OS.indent(i) << "whatever";

people seem to like indenting things ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79784 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 23:10:29 +00:00
Benjamin Kramer
f682f3d019 Forgot to update some CMakeLists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79780 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 22:20:11 +00:00
Benjamin Kramer
ecf046b86d Update CMake build, unbreak linux build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79779 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 22:07:08 +00:00
Chris Lattner
33adcfb4d2 rename TAI -> MAI, being careful not to make MAILJMP instructions :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 21:43:10 +00:00
Chris Lattner
2807afa664 rename COFFMCAsmInfo -> MCAsmInfoCOFF, likewise for darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79773 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 21:03:30 +00:00
Chris Lattner
82d748d55c move the MCAsmInfo .cpp/.h files into the right
directories and rename them.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:58:17 +00:00
Chris Lattner
e4d110be70 revert 79764, my dependencies failed me again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79767 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:56:12 +00:00
Bill Wendling
c75e7d2a06 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79766 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:54:03 +00:00
Bill Wendling
70357db30a Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79765 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:52:46 +00:00
Chris Lattner
52283486bc remove dead member.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79764 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:50:18 +00:00
Chris Lattner
af76e592c7 Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:48:53 +00:00
Bill Wendling
9c52affd37 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79762 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:46:59 +00:00
Bill Wendling
960bb85b21 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79760 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:41:06 +00:00
Bill Wendling
cbac788324 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79759 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:40:21 +00:00
Bill Wendling
fbb594f351 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79758 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:38:09 +00:00
Bill Wendling
c3115a02c5 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79756 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:30:53 +00:00
Bill Wendling
1e973aae79 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79755 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:26:23 +00:00
Bill Wendling
b7a89928f4 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79754 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:25:44 +00:00
Bill Wendling
0d6b1b1248 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79753 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:23:49 +00:00
Bill Wendling
8e6179fb13 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79752 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:18:03 +00:00
Bill Wendling
44ff7949c7 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79751 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:11:17 +00:00
Bill Wendling
fb98a43b31 Normalize how the 'namespace llvm {' is used in this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79750 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:08:44 +00:00
Bill Wendling
b22d8df162 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79749 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:07:03 +00:00
Bill Wendling
9311a22830 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79748 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:04:03 +00:00
Bill Wendling
3403bcd8f9 Convert DOUT to DEBUG(errs()...).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 20:03:00 +00:00
Chris Lattner
cda7f78233 prune some redundant #includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79746 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 19:35:08 +00:00
Chris Lattner
bea2c95704 tweak #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79744 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 19:19:12 +00:00
Devang Patel
24f20e0832 Record variable debug info at ISel time directly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 17:12:53 +00:00
Anton Korobeynikov
310ed13641 Some dummy cost model for s390x:
- Prefer short-imm instructions over ext-imm, when possible
 - Prefer Z10 instructions over Z9, when possible

This hopefully should fix some dejagnu test fails on solaris

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79741 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 11:46:16 +00:00
Daniel Dunbar
3edd9bb7a3 llvm-mc/Mach-O: Improve symbol table support:
- Honor .globl.

 - Set symbol type and section correctly ('nm' now works), and order symbols
   appropriately.

 - Take care to the string table so that the .o matches 'as' exactly (for ease
   of testing).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 11:41:10 +00:00
Daniel Dunbar
f3d2ef0c97 llvm-mc/Mach-O: Sketch symbol table support.
- The only .s syntax this honors right now is emitting labels, and some parts
   of the symbol table generation are wrong or faked.

 - This is enough to get nm to report such symbols... incorrectly, but still.

Also, fixed byte emission to extend the previous fragment if possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 10:13:24 +00:00
Daniel Dunbar
2ae58f2851 llvm-mc/Mach-O: Move more logic for writing the Mach-O file into the writer
class, and kill off MCSectionData::FileOffset.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79735 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 08:28:27 +00:00
Daniel Dunbar
a5441fea1f llvm-mc: Rename / redefine MCFragment::FileOffset to MCFragment::Offset (the
section offset).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79734 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 08:27:54 +00:00
Daniel Dunbar
8906ff1b9d llvm-mc: Clean up some handling of symbol/section association to be more correct
(external was really undefined and there wasn't an explicit representation for
absolute symbols).
 - This still needs some cleanup to how the absolute "pseudo" section is dealt
   with, but I haven't figured out the nicest approach yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79733 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 07:22:36 +00:00
Owen Anderson
02b10347bb Reapply r79708 with the appropriate fix for the case that still requires locking.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79731 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 06:32:36 +00:00
Chris Lattner
895a55e66d revert r79708 + r79711
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79720 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 04:07:34 +00:00
Eli Friedman
ce392eb3ea Make x86 test actually test x86 code generation. Fix the
construct on ARM, which was breaking by coincidence, and add a similar 
testcase for ARM.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79719 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 03:13:10 +00:00
Eric Christopher
8dde7c0ff1 Actually remove unused static. Previous commit removed trailing
whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79711 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 00:41:47 +00:00
Eric Christopher
4d7c18c49b Remove unused static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79710 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 00:40:45 +00:00
Owen Anderson
0b7401d3cd Ease contention on this lock by noticing that all writes to the VTs array will
be of (dynamically) constant values, so races on it are immaterial.  We just need
to ensure that at least one write has completed before return the pointer into it.

With this change, parllc exhibits essentially no overhead on 403.gcc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79708 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 00:29:12 +00:00
Chris Lattner
3dfe610013 Revert r79563
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79691 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 23:12:47 +00:00
Chris Lattner
35a27c8a0d revert r79562 + r79563
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79690 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 23:12:15 +00:00
Anton Korobeynikov
4755e9955b Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 23:09:47 +00:00
Chris Lattner
5a35fe67dd revert r79631
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79686 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 23:08:45 +00:00
Chris Lattner
ec3579ff0d revert 79631
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 23:08:09 +00:00
Daniel Dunbar
d6f761e0eb llvm-mc/Mach-O: Support .o emission for .org and .align.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 23:07:38 +00:00
Anton Korobeynikov
7e844f128e Implement APInt <-> APFloat conversion for IEEE 128-bit floats.
This fixes PR2555

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 22:10:30 +00:00
Bob Wilson
4f38b383d5 Rename ARM "lane_cst" operands to "nohash_imm" since they are used for
several things other than Neon vector lane numbers.  For inline assembly
operands with a "c" print code, check that they really are immediates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 21:58:55 +00:00
Reid Kleckner
01248e6711 Fix a bug where the DWARF emitter in the JIT was not initializing alignment
bytes.  libgcc doesn't seem to mind, but if you pass this DWARF to GDB, it
doesn't like it.  

Also make the JIT memory manager to initialize it's memory to garbage in debug
mode, so that it's easier to find bugs like these in the future.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79674 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 21:03:57 +00:00
Bob Wilson
c692cb77aa Match VTRN, VZIP, and VUZP shuffles. Restore the tests for these operations,
now using shuffles instead of intrinsics.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79673 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 20:54:19 +00:00
Anton Korobeynikov
162da3c7b4 Add fcopysign instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79664 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 20:02:37 +00:00
Owen Anderson
9085750d31 Try again at privatizing the layout info map, with a rewritten patch.
This preserves the existing behavior much more closely than my previous attempt.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79663 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 19:59:12 +00:00