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
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
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
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
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
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
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
Bill Wendling
636e258a53
Fix typo. Should check both values of RangeUse for 0. Patch by Marius Wachtler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 18:16:06 +00:00
Bill Wendling
a583c55864
Attempt to comment this code more.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79567 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 22:02:24 +00:00
Daniel Dunbar
bc84ad95b7
Suppress build warning in -Asserts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 20:01:34 +00:00
Jim Grosbach
8fc3b6903a
Check for shared landing pads when assigning call site values. Invokes which
...
share a landing pad should also use the same call site value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79501 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-20 01:03:48 +00:00
David Greene
5f3aeac9a7
Add missing forward declaration.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79481 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 22:19:44 +00:00
David Greene
098612b0e8
Add missing includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79480 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 22:16:11 +00:00
David Greene
43c76fbba2
Add missing includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79479 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 22:08:26 +00:00
David Greene
2a711e36da
Add missing includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79478 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 22:05:21 +00:00
David Greene
0d036d2e81
Add missing includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79476 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 22:02:07 +00:00
David Greene
eea1f4cdb7
Add missing includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79475 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 21:59:18 +00:00
David Greene
fc4da0cea8
Add missing includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 21:55:33 +00:00
David Greene
b2c66fc322
Add missing includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79473 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 21:52:55 +00:00
Daniel Dunbar
dddfd34e32
Switch to SmallString::str from SmallString::c_str, and remove
...
SmallString::c_str.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79456 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 20:07:03 +00:00
Dan Gohman
6a402dc952
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79439 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 18:16:17 +00:00
David Goodwin
dc4bdcdef1
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
2009-08-19 16:08:58 +00:00
Eli Friedman
d68eea2b6d
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
2009-08-19 08:46:10 +00:00
Chris Lattner
663c2d2580
switch asmprinter to emit alignments through OutStreamer.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 06:12:02 +00:00
Chris Lattner
6c2f9e14fd
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
2009-08-19 05:49:37 +00:00
Lang Hames
8481e3b368
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
2009-08-19 01:36:14 +00:00
Dan Gohman
2c9489d6e9
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
2009-08-18 23:52:48 +00:00
Dan Gohman
db8dc2b9fa
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
2009-08-18 23:36:17 +00:00
Lang Hames
233fd9cea0
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
2009-08-18 23:34:50 +00:00
Jakob Stoklund Olesen
c0823fe7c6
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
2009-08-18 21:14:54 +00:00
David Greene
fe37ab335b
Make various changes suggested by Chris.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79358 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 19:22:55 +00:00
Chris Lattner
35c3531754
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
2009-08-18 16:56:17 +00:00
Dan Gohman
da65822cfc
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
2009-08-18 15:18:18 +00:00
Chris Lattner
dabf07c70a
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
2009-08-18 06:15:16 +00:00
Chris Lattner
6a66e585b8
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
2009-08-18 06:13:03 +00:00
Chris Lattner
1f50fc736e
fix another bozo bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79313 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:34:36 +00:00
Chris Lattner
b49a30c109
fix accidentally inverted conditional and add comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79312 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 04:33:15 +00:00
Chris Lattner
a006d4e60d
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
2009-08-18 04:30:35 +00:00
Jim Grosbach
606f3d696f
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
2009-08-17 21:40:03 +00:00
Jim Grosbach
2962664227
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
2009-08-17 20:25:04 +00:00
Benjamin Kramer
ae68a19ef9
Update CMakeLists.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79264 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 18:47:11 +00:00
Daniel Dunbar
5d17eddb0c
Fix build warning.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79262 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 18:41:42 +00:00
Jim Grosbach
8b818d7e98
Move the sjlj exception handling conversions to a back-end pass where they
...
more properly belong. This allows removing the front-end conditionalized
SJLJ code, and cleans up the generated IR considerably. All of the
infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is
added by the SjLjEHPrepare pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79250 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 16:41:22 +00:00
David Goodwin
fac8541dd4
Extend the instruction itinerary model to include the ability to indicate the def and use cycle for each operand. This additional information is optional, so existing itineraries do not need to be changed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79247 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 16:02:57 +00:00
Chris Lattner
8f4b1ec02b
the MinPad argument to PadToColumn only really makes sense to be 1,
...
just remove the argument and replace it with 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 15:48:08 +00:00
Chris Lattner
975780bb59
change AsmPrinter to switch sections using AsmStreamer instead of
...
doing it directly. This requires const'izing a bunch of stuff that
took sections, but this seems like the right semantic thing to do:
emitting a label to a section shouldn't mutate the MCSection object
itself, for example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79227 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 05:49:08 +00:00
Chris Lattner
f3ce009fcb
give MCAsmStreamer a TargetAsmInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79222 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17 04:23:44 +00:00
Jakob Stoklund Olesen
66a39699fb
Replace RegScavenger::DistanceMap with a simpler local algorithm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79195 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 17:41:39 +00:00
Jakob Stoklund Olesen
e689ce626c
Clean up the public interface of RegScavenger.
...
Remove unused methods and make others private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79194 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 17:41:20 +00:00
Jakob Stoklund Olesen
f7e8af925c
Be more clever about regclasses in ScheduleDAGSDNodes::EmitCopyFromReg.
...
If two uses of a CopyFromReg want different regclasses, first try a common
sub-class, then fall back on the copy emitted in AddRegisterOperand. There is
no need for an assert here. The cross-class joiner usually cleans up nicely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79193 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 17:40:59 +00:00
Evan Cheng
8a9d5f96a5
Needs to check whether unaligned load / store of i64 is legal here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79150 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 23:41:42 +00:00
Bill Wendling
eb75364020
Remove <iostream>.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79146 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 22:28:08 +00:00
Benjamin Kramer
bc037cfcde
Unbreak build. Evan, please make sure my changes are correct.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79133 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 20:46:16 +00:00
Jakob Stoklund Olesen
16b794d25a
Refine EarlyClobber assert in register scavenger.
...
It is legal for an inline asm operand to use an earlyclobber register if the
use operand is tied to the earlyclobber operand. The issue is discussed here:
http://gcc.gnu.org/ml/gcc/1999-04n/msg00431.html
We should perhaps let only the machine code verifier worry about these finer
details. EarlyClobber operands are not really interesting to the scavenger.
This fixes PR4528 for the third time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79122 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 18:16:58 +00:00
Jakob Stoklund Olesen
d62c9a697b
Don't setCalleeSavedInfoValid() until spills are interted.
...
In a naked function, the flag is never set and getPristineRegs() returns an
empty list. That means naked functions are able to clobber callee saved
registers, but that is the whole point of naked functions.
This fixes PR4716.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79096 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 13:10:46 +00:00
Jakob Stoklund Olesen
4af85b2328
Allow double defs in the machine code verifier after the addPreRegAlloc passes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79095 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 13:10:15 +00:00
Jakob Stoklund Olesen
7a1e872564
Update LocalRewriter::DistanceMap when inserting stack loads.
...
In the included test case, a stack load was not included in DistanceMap. That
caused TransferDeadness to ignore the instruction, leading to a scavenger
assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79090 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 11:03:03 +00:00
Evan Cheng
e96507c731
80 col violations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79087 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 08:38:52 +00:00
Dan Gohman
0d24bfbf92
Simplify this code to not depend as much on CurMBB.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79068 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 02:06:22 +00:00
Devang Patel
6325a5305e
Do not completely skip subrange info for a zero sized array.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79044 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 20:59:16 +00:00
Anton Korobeynikov
72977a45a8
Allow targets to specify their choice of calling conventions per
...
libcall. Take advantage of this in the ARM backend to rectify broken
choice of CC when hard float is in effect. PIC16 may want to see if
it could be of use in MakePIC16Libcall, which works unchanged.
Patch by Sandeep!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79033 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 20:10:52 +00:00
Bruno Cardoso Lopes
abd7514a68
*try* to use a better name to describe how common symbols are marked on the elf object file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79029 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 19:45:38 +00:00
Daniel Dunbar
575327b77e
Add virtual printMCInst method to AsmPrinter, as a quick way to expose the API
...
to print one instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78985 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 03:43:57 +00:00
Evan Cheng
7cefd80bd5
Indentation change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78978 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 01:56:37 +00:00
Daniel Dunbar
7894578470
TargetRegistry: Change AsmPrinter constructor to be typed as returning an
...
AsmPrinter instance (instead of just a FunctionPass)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78962 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 23:48:47 +00:00
Owen Anderson
0e275dc538
Actually privatize a IntegerTypes, and fix a few bugs exposed by this.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78955 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 23:27:32 +00:00
Owen Anderson
1d0be15f89
Push LLVMContexts through the IntegerType APIs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78948 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 21:58:54 +00:00
Bruno Cardoso Lopes
d163e8b14c
Remove hack used to strip unwanted chars from section name
...
Use MCSectionELF methods as much as possible, removing some
ELFWriter methods which are now unused
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78940 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13 21:25:27 +00:00