Dan Gohman
3df56c2002
Adjust the MachineBasicBlock verifier rules to be more
...
tolerant of blocks that end with "unreachable".
llvm-svn: 80270
2009-08-27 18:14:26 +00:00
Bill Wendling
9d9a3b7f82
Revert accidental commit.
...
llvm-svn: 80198
2009-08-27 03:32:50 +00:00
Bill Wendling
5f74a3e3b9
--- Reverse-merging r80147 into '.':
...
A include/llvm/ADT/iterator.cmake
U autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U Makefile
--- Reverse-merging r80173 into '.':
U configure
U include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A include/llvm/ADT/iterator.h.in
Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.
Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.
llvm-svn: 80197
2009-08-27 03:29:26 +00:00
Dan Gohman
ef6a9d4f16
Add some checks for MachineCFG consistency. Use AnalyzeBranch and
...
do extra checking when it succeeds, as those are cases where
CodeGen will be doing particularly interesting CFG modifications.
llvm-svn: 80196
2009-08-27 02:43:49 +00:00
Eric Christopher
94ba344cd4
Rework getPersonalityIndex slightly - 0 is now a valid and not-NULL
...
personality function.
llvm-svn: 80153
2009-08-26 21:44:57 +00:00
Eric Christopher
8a04a49040
If we're emitting additional CIEs due to personality functions
...
don't emit the default one. Explicitly check for the NULL
CIE later.
llvm-svn: 80146
2009-08-26 21:30:49 +00:00
Eric Christopher
c40e3426ca
Nuke trailing whitespace.
...
llvm-svn: 80145
2009-08-26 21:27:09 +00:00
Anton Korobeynikov
c61d5bbbe2
Add extload expansion for f128
...
llvm-svn: 80116
2009-08-26 17:39:40 +00:00
Dan Gohman
cd6a67f749
-fast is now -O0. -fast-isel is no longer experimental.
...
llvm-svn: 80104
2009-08-26 15:57:57 +00:00
Devang Patel
10c075a316
Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.
...
llvm-svn: 80073
2009-08-26 05:01:18 +00:00
Devang Patel
7bee319f4a
Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.
...
Patch by Caroline Tice.
llvm-svn: 80061
2009-08-26 00:39:50 +00:00
Owen Anderson
3b65ce66e8
Get rid of this horrible "benign race" by exploiting ManagedStatic to initialize
...
the array on its first access.
llvm-svn: 80040
2009-08-25 22:27:22 +00:00
David Goodwin
047f69da86
Fixup register kills after scheduling.
...
llvm-svn: 80002
2009-08-25 17:03:05 +00:00
Bill Wendling
487ba86a78
- Rename EmitCommonInformationEntry to EmitCIE.
...
- Rename EmitFunctionDescriptionEntry to EmitFDE.
llvm-svn: 79981
2009-08-25 08:08:33 +00:00
Devang Patel
7d42bfab6c
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!)
llvm-svn: 79977
2009-08-25 05:24:07 +00:00
Bill Wendling
96768fec57
- Emit new line after each FDE.
...
- Fix comment.
llvm-svn: 79971
2009-08-25 02:32:05 +00:00
Bill Wendling
ded9b7d024
Rename functions to something more descriptive. At the very least mention the
...
CIE and FDE in their names.
llvm-svn: 79969
2009-08-25 02:27:42 +00:00
Chris Lattner
39262eb119
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.
llvm-svn: 79885
2009-08-24 03:52:50 +00:00
Chris Lattner
11f509336c
remove the last uses of Config/alloca.h
...
llvm-svn: 79873
2009-08-23 22:57:38 +00:00
Chris Lattner
3203639c35
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.
llvm-svn: 79869
2009-08-23 22:45:37 +00:00
Jim Grosbach
40e55542d5
SJLJ pass needs to punt if there's no personality function available.
...
llvm-svn: 79858
2009-08-23 18:13:48 +00:00
Jakob Stoklund Olesen
291647e0d9
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.
llvm-svn: 79855
2009-08-23 13:01:45 +00:00
Benjamin Kramer
e5458c19a2
Kill off more cerr/cout uses and prune includes a bit.
...
llvm-svn: 79852
2009-08-23 11:37:21 +00:00
Daniel Dunbar
411094cde6
Fix some refactos for iostream changes (in -Asserts mode).
...
- The world needs better C++ refactoring tools, can I get an Amen!?
llvm-svn: 79843
2009-08-23 08:50:52 +00:00
Chris Lattner
e22a1d941e
remove some uses of llvm/Support/Streams.h
...
llvm-svn: 79842
2009-08-23 08:43:55 +00:00
Chris Lattner
f536c93134
convert LoopInfo.h and GraphWriter.h to use raw_ostream
...
llvm-svn: 79836
2009-08-23 07:19:13 +00:00
Chris Lattner
bd73307361
eliminate uses of cerr()
...
llvm-svn: 79834
2009-08-23 07:05:07 +00:00
Chris Lattner
89d3d59e83
remove a few DOUTs here and there.
...
llvm-svn: 79832
2009-08-23 06:35:02 +00:00
Chris Lattner
1c0452caeb
Change Pass::print to take a raw ostream instead of std::ostream,
...
update all code that this affects.
llvm-svn: 79830
2009-08-23 06:03:38 +00:00
Chris Lattner
ea2bfd7a9f
eliminate the std::ostream form of WriteAsOperand and update clients.
...
This also updates dominator related stuff.
llvm-svn: 79825
2009-08-23 05:17:37 +00:00
Chris Lattner
01dae858b6
eliminate the "Value" printing methods that print to a std::ostream.
...
This required converting a bunch of stuff off DOUT and other cleanups.
llvm-svn: 79819
2009-08-23 04:37:46 +00:00
Chris Lattner
6512a3a281
shoot a few more std::ostream print methods in the head.
...
llvm-svn: 79814
2009-08-23 03:47:42 +00:00
Chris Lattner
db2965c71f
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. ;-)
llvm-svn: 79813
2009-08-23 03:41:05 +00:00
Chris Lattner
11e35ba9c2
remove some DOUTs
...
llvm-svn: 79812
2009-08-23 03:20:44 +00:00
Chris Lattner
9a542aae19
remove std::ostream versions of printing stuff for MBB and MF,
...
upgrading a few things to use raw_ostream
llvm-svn: 79811
2009-08-23 03:13:20 +00:00
Chris Lattner
f16d8ade4f
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).
llvm-svn: 79807
2009-08-23 02:51:22 +00:00
Chris Lattner
ed9a239afa
convert some stuff to work on raw_ostreams instead of std::ostream.
...
llvm-svn: 79803
2009-08-23 01:12:47 +00:00
Chris Lattner
c27b016566
fix a gone file.
...
llvm-svn: 79802
2009-08-23 01:11:21 +00:00
Chris Lattner
abcb18592a
remove some dead print method variants.
...
llvm-svn: 79801
2009-08-23 01:03:30 +00:00
Chris Lattner
cf11411573
convert the DIE printing stuff to use raw_ostream instead of std::ostream.
...
Tweak #includes.
llvm-svn: 79800
2009-08-23 01:01:17 +00:00
Chris Lattner
2c5fb733fa
random code cleanups.
...
llvm-svn: 79798
2009-08-23 00:51:47 +00:00
Chris Lattner
1c6c358071
remove some random indentation stuff, yay for efficiency.
...
llvm-svn: 79797
2009-08-23 00:51:00 +00:00
Chris Lattner
85bc7f732b
remove dead PrefixPrinter class.
...
llvm-svn: 79796
2009-08-23 00:47:04 +00:00
Chris Lattner
38a3eb5739
remove a dead class.
...
llvm-svn: 79795
2009-08-23 00:42:42 +00:00
Chris Lattner
f1c8c46e95
random cleanups.
...
llvm-svn: 79794
2009-08-23 00:35:30 +00:00
Eli Friedman
e8106d9fc6
Add check for completeness. Note that this doesn't actually have any
...
effect with the way the current code is structured.
llvm-svn: 79792
2009-08-23 00:14:19 +00:00
Chris Lattner
8d06945fff
rename TAI -> MAI, being careful not to make MAILJMP instructions :)
...
llvm-svn: 79777
2009-08-22 21:43:10 +00:00
Bill Wendling
f0c30267ee
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79766
2009-08-22 20:54:03 +00:00
Bill Wendling
54e5b301f7
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79765
2009-08-22 20:52:46 +00:00
Chris Lattner
5d8af49626
Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.
...
llvm-svn: 79763
2009-08-22 20:48:53 +00:00
Bill Wendling
befc5142d8
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79762
2009-08-22 20:46:59 +00:00
Bill Wendling
8e64fefc68
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79760
2009-08-22 20:41:06 +00:00
Bill Wendling
4a1c36eac3
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79759
2009-08-22 20:40:21 +00:00
Bill Wendling
2e996850e3
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79758
2009-08-22 20:38:09 +00:00
Bill Wendling
f5b999004d
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79756
2009-08-22 20:30:53 +00:00
Bill Wendling
583b46267f
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79755
2009-08-22 20:26:23 +00:00
Bill Wendling
6dff651660
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79754
2009-08-22 20:25:44 +00:00
Bill Wendling
6fca65fb1c
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79753
2009-08-22 20:23:49 +00:00
Bill Wendling
cf51caf09d
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79752
2009-08-22 20:18:03 +00:00
Bill Wendling
295fc15497
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79751
2009-08-22 20:11:17 +00:00
Bill Wendling
5a5d0efc7f
Normalize how the 'namespace llvm {' is used in this file.
...
llvm-svn: 79750
2009-08-22 20:08:44 +00:00
Bill Wendling
afba8e204c
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79749
2009-08-22 20:07:03 +00:00
Bill Wendling
d197f257a7
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79748
2009-08-22 20:04:03 +00:00
Bill Wendling
7ce39eba34
Convert DOUT to DEBUG(errs()...).
...
llvm-svn: 79747
2009-08-22 20:03:00 +00:00
Devang Patel
c071d6c1b4
Record variable debug info at ISel time directly.
...
llvm-svn: 79742
2009-08-22 17:12:53 +00:00
Owen Anderson
51e0724ae8
Reapply r79708 with the appropriate fix for the case that still requires locking.
...
llvm-svn: 79731
2009-08-22 06:32:36 +00:00
Chris Lattner
b75d76e6d1
revert r79708 + r79711
...
llvm-svn: 79720
2009-08-22 04:07:34 +00:00
Eric Christopher
724f0fec19
Actually remove unused static. Previous commit removed trailing
...
whitespace.
llvm-svn: 79711
2009-08-22 00:41:47 +00:00
Eric Christopher
6da03d3055
Remove unused static.
...
llvm-svn: 79710
2009-08-22 00:40:45 +00:00
Owen Anderson
2a5b6c38b8
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.
llvm-svn: 79708
2009-08-22 00:29:12 +00:00
Bill Wendling
50e8e856f2
Fix typo. Should check both values of RangeUse for 0. Patch by Marius Wachtler.
...
llvm-svn: 79649
2009-08-21 18:16:06 +00:00
Bill Wendling
ee0f476fd4
Attempt to comment this code more.
...
llvm-svn: 79567
2009-08-20 22:02:24 +00:00
Daniel Dunbar
638e57db6e
Suppress build warning in -Asserts
...
llvm-svn: 79564
2009-08-20 20:01:34 +00:00
Jim Grosbach
0929242f26
Check for shared landing pads when assigning call site values. Invokes which
...
share a landing pad should also use the same call site value.
llvm-svn: 79501
2009-08-20 01:03:48 +00:00
David Greene
0658dce9a4
Add missing forward declaration.
...
llvm-svn: 79481
2009-08-19 22:19:44 +00:00
David Greene
a648747919
Add missing includes.
...
llvm-svn: 79480
2009-08-19 22:16:11 +00:00
David Greene
247bd82474
Add missing includes.
...
llvm-svn: 79479
2009-08-19 22:08:26 +00:00
David Greene
e79dd523ab
Add missing includes.
...
llvm-svn: 79478
2009-08-19 22:05:21 +00:00
David Greene
270a5f3e14
Add missing includes.
...
llvm-svn: 79476
2009-08-19 22:02:07 +00:00
David Greene
8dfc73dbbf
Add missing includes.
...
llvm-svn: 79475
2009-08-19 21:59:18 +00:00
David Greene
1fff843647
Add missing includes.
...
llvm-svn: 79474
2009-08-19 21:55:33 +00:00
David Greene
1df248be05
Add missing includes.
...
llvm-svn: 79473
2009-08-19 21:52:55 +00:00
Daniel Dunbar
2cf5eb67b4
Switch to SmallString::str from SmallString::c_str, and remove
...
SmallString::c_str.
llvm-svn: 79456
2009-08-19 20:07:03 +00:00
Dan Gohman
eb6fbd7fd1
Add an x86 peep that narrows TEST instructions to forms that use
...
a smaller encoding. These kinds of patterns are very frequent in
sqlite3, for example.
llvm-svn: 79439
2009-08-19 18:16:17 +00:00
David Goodwin
9a605efb84
Use the schedule itinerary operand use/def cycle information to adjust dependence edge latency for post-RA scheduling.
...
llvm-svn: 79425
2009-08-19 16:08:58 +00:00
Eli Friedman
914b41055a
PR4737: Fix a nasty bug in load narrowing with non-power-of-two types.
...
llvm-svn: 79415
2009-08-19 08:46:10 +00:00
Chris Lattner
57b873fda0
switch asmprinter to emit alignments through OutStreamer.
...
llvm-svn: 79406
2009-08-19 06:12:02 +00:00
Chris Lattner
9cbc9c2d13
eliminate AsmPrinter::SwitchToSection and just have clients
...
talk to the MCStreamer directly instead.
llvm-svn: 79405
2009-08-19 05:49:37 +00:00
Lang Hames
c26fb5727a
Added an option to have the PBQP allocator attempt coalescing during allocation.
...
llvm-svn: 79397
2009-08-19 01:36:14 +00:00
Dan Gohman
1526c115c0
Be tidy and use a break to exit from a switch block rather than
...
just falling through the end.
llvm-svn: 79383
2009-08-18 23:52:48 +00:00
Dan Gohman
56c2c54a37
Legalize the shift amount operand of SRL_PARTS, SHL_PARTS, and
...
SRA_PARTS, as is done for SRL, SHL, and SRA.
llvm-svn: 79380
2009-08-18 23:36:17 +00:00
Lang Hames
0e2ecec9f9
Changes DOUT references in the PBQP allocator to use DEBUG(errs() ...)
...
llvm-svn: 79378
2009-08-18 23:34:50 +00:00
Jakob Stoklund Olesen
9496240bbf
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.
llvm-svn: 79369
2009-08-18 21:14:54 +00:00
David Greene
4347d5d424
Make various changes suggested by Chris.
...
llvm-svn: 79358
2009-08-18 19:22:55 +00:00
Chris Lattner
17c3a9cf99
fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections
...
llvm-svn: 79346
2009-08-18 16:56:17 +00:00
Dan Gohman
5022dd9cc9
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.
llvm-svn: 79338
2009-08-18 15:18:18 +00:00
Chris Lattner
b82fc63e02
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.
llvm-svn: 79324
2009-08-18 06:15:16 +00:00
Chris Lattner
7a382434b5
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.
llvm-svn: 79323
2009-08-18 06:13:03 +00:00
Chris Lattner
4efe44f456
fix another bozo bug
...
llvm-svn: 79313
2009-08-18 04:34:36 +00:00
Chris Lattner
64ac9ab553
fix accidentally inverted conditional and add comment.
...
llvm-svn: 79312
2009-08-18 04:33:15 +00:00