Anton Korobeynikov
f5317831da
Make emit{Prologue,Epilogue}() noop for now
...
llvm-svn: 70707
2009-05-03 13:01:04 +00:00
Anton Korobeynikov
57d55e96cd
Add callee-saved regs & reg classes getter hooks
...
llvm-svn: 70706
2009-05-03 13:00:46 +00:00
Anton Korobeynikov
70dbb3eb2f
Add simple FP indicator for given function hook
...
llvm-svn: 70705
2009-05-03 13:00:28 +00:00
Anton Korobeynikov
4c91b3a6f2
Provide set of reserved registers
...
llvm-svn: 70704
2009-05-03 13:00:11 +00:00
Anton Korobeynikov
ebab62b827
Add proper ISD::RET lowering
...
llvm-svn: 70703
2009-05-03 12:59:50 +00:00
Anton Korobeynikov
e74a06c068
Add first draft of MSP430 calling convention stuff and draft of ISD::FORMAL_ARGUMENTS node lowering.
...
llvm-svn: 70702
2009-05-03 12:59:33 +00:00
Anton Korobeynikov
b85740bf76
Fix register names, fix register allocation order, handle frame pointer.
...
llvm-svn: 70701
2009-05-03 12:59:16 +00:00
Anton Korobeynikov
5af68b43bc
Clearify the usage and add some debug stuff
...
llvm-svn: 70700
2009-05-03 12:58:58 +00:00
Anton Korobeynikov
840e251a16
Cleanup
...
llvm-svn: 70699
2009-05-03 12:58:40 +00:00
Anton Korobeynikov
372921c7be
Add cmake script. No idea whether it works or not :)
...
llvm-svn: 70698
2009-05-03 12:58:22 +00:00
Anton Korobeynikov
0eec6e6c0a
Add a note
...
llvm-svn: 70697
2009-05-03 12:58:05 +00:00
Anton Korobeynikov
be51fd1388
Typo
...
llvm-svn: 70695
2009-05-03 12:57:47 +00:00
Anton Korobeynikov
d49e584da5
Dummy MSP430 backend
...
llvm-svn: 70694
2009-05-03 12:57:15 +00:00
Argyrios Kyrtzidis
a034549d67
-Move the DwarfWriter::ValidDebugInfo check to a static DIDescriptor::ValidDebugInfo
...
-Create DebugLocs without the need to have a DwarfWriter around
llvm-svn: 70682
2009-05-03 08:50:41 +00:00
Dan Gohman
8e4b9e586b
Revert r70645 for now; it's causing a variety of regressions.
...
llvm-svn: 70661
2009-05-03 05:46:20 +00:00
Nick Lewycky
01b22399ef
Revert r70630. Go back to appending ".b" to internal globals when shrinking
...
them to bool.
llvm-svn: 70653
2009-05-03 03:49:08 +00:00
Dan Gohman
7d98736ca6
Convert ScalarEvolution to use CallbackVH for its internal map. This
...
makes ScalarEvolution::deleteValueFromRecords, and it's code that
subtly needed to be called before ReplaceAllUsesWith, unnecessary.
It also makes ValueDeletionListener unnecessary.
llvm-svn: 70645
2009-05-02 21:19:20 +00:00
Dan Gohman
dc96a23780
Apply Jeffrey Yasskin's CallbackVH patch, with minor tweaks from me
...
to make the copy constructor and destructor protected, and corresponding
adjustments to the unittests.
llvm-svn: 70644
2009-05-02 21:10:48 +00:00
Dan Gohman
8b692f87a7
Include <limits.h> to get the definition of CHAR_BIT.
...
llvm-svn: 70643
2009-05-02 21:03:21 +00:00
Dan Gohman
7c5f68dd5c
The second argument to RecursivelyDeleteTriviallyDeadInstructions has
...
a default value, and will hopefully be going away soon.
llvm-svn: 70642
2009-05-02 20:22:10 +00:00
Dan Gohman
a79cce4aef
Previously, RecursivelyDeleteDeadInstructions provided an option
...
of returning a list of pointers to Values that are deleted. This was
unsafe, because the pointers in the list are, by nature of what
RecursivelyDeleteDeadInstructions does, always dangling. Replace this
with a simple callback mechanism. This may eventually be removed if
all clients can reasonably be expected to use CallbackVH.
Use this to factor out the dead-phi-cycle-elimination code from LSR
utility function, and generalize it to use the
RecursivelyDeleteTriviallyDeadInstructions utility function.
This makes LSR more aggressive about eliminating dead PHI cycles;
adjust tests to either be less trivial or to simply expect fewer
instructions.
llvm-svn: 70636
2009-05-02 18:29:22 +00:00
Dan Gohman
9608880839
When ScalarEvolution is told to forget the trip count for a loop, have
...
it also forget any SCEVs associated with loop-header PHIs in the loop,
as they may be dependent on trip count information.
llvm-svn: 70633
2009-05-02 17:43:35 +00:00
Dan Gohman
cc3edfaa6c
Tell ScalarEvolution that the loop is being deleted before actually
...
deleting it. This will let ScalarEvolution be more complete about
updating its records.
llvm-svn: 70632
2009-05-02 17:29:26 +00:00
Nick Lewycky
3e85ff61b3
Don't append ".b" to the names of globals that are being shrunk to booleans.
...
llvm-svn: 70630
2009-05-02 16:21:50 +00:00
Dan Gohman
a4b28ca3c9
Don't split critical edges during the AddUsersIfInteresting phase
...
of LSR. This makes the AddUsersIfInteresting phase of LSR a pure
analysis instead of a phase that potentially does CFG modifications.
The conditions where this code would actually perform a split are
rare, and in the cases where it actually would do a split the split
is usually undone by CodeGenPrepare, and in cases where splits
actually survive into codegen, they appear to hurt more often than
they help.
llvm-svn: 70625
2009-05-02 05:36:01 +00:00
Chris Lattner
c6d561ed27
'The attached patch fixes an issue where llc -march=cpp fails with
...
"Invalid primitive type" on input containing the x86_fp80 type.'
Patch by Collin Winter!
llvm-svn: 70610
2009-05-01 23:54:26 +00:00
Chris Lattner
b7947ae607
Drop the default assumption about alignment down to 2 bits from 3. This apparently
...
helps some problems on win32 platforms (PR4119)
llvm-svn: 70603
2009-05-01 23:48:33 +00:00
Dan Gohman
6aa1fd5065
Change the description string of the LoopInfo pass.
...
"Construction" makes it sound like a pass that might
modify the CFG to construct natural loops.
llvm-svn: 70580
2009-05-01 21:58:05 +00:00
Stuart Hastings
b3c08d427a
Prevent looping when DenseSet is abused.
...
llvm-svn: 70572
2009-05-01 20:47:53 +00:00
Misha Brukman
064820037b
HTML-escape '>' as '>' in sample C++ code.
...
llvm-svn: 70569
2009-05-01 20:40:51 +00:00
Bob Wilson
da90bf9e40
Allow CONCAT_VECTORS nodes to be legal or have custom lowering for some targets.
...
Changes to take advantage of this will come later.
llvm-svn: 70560
2009-05-01 17:55:32 +00:00
Dan Gohman
d57099a9eb
Actually insert inserted instructions into the InsertedValues map.
...
llvm-svn: 70557
2009-05-01 17:13:31 +00:00
Dan Gohman
daa3a9f38c
Add an accessor method to allow clients to test if a given expression
...
is associated with a SCEV expansion.
llvm-svn: 70556
2009-05-01 17:08:34 +00:00
Dan Gohman
bdc33dc988
Make RequiresTypeConversion canonicalize the types before calling the
...
target hooks canLosslesslyBitCastTo and isTruncateFree. This allows
targets to avoid worrying about handling all combinations of integer
and pointer types.
llvm-svn: 70555
2009-05-01 17:07:43 +00:00
Dan Gohman
0dc2b769b0
When printing a SCEVUnknown with pointer type, don't print an
...
artificial "ptrtoint", as it tends to clutter up complicated
expressions. The cast operators now print both source and
destination types, which is usually sufficient.
llvm-svn: 70554
2009-05-01 17:02:22 +00:00
Dan Gohman
bc336eab6e
Short-circuit inttoptr-ptrtoint constant expressions; these aren't
...
always folded by the regular constant folder because it doesn't have
TargetData information.
llvm-svn: 70553
2009-05-01 17:00:00 +00:00
Dan Gohman
ac4de6a92e
Make SCEVExpander::addInsertedValue able to accept Values, not just
...
Instructions.
llvm-svn: 70552
2009-05-01 16:58:31 +00:00
Dan Gohman
9dd3e99217
Minor whitespace fix.
...
llvm-svn: 70551
2009-05-01 16:56:32 +00:00
Dan Gohman
7eab4d2fa2
Fix an 80-column violation.
...
llvm-svn: 70550
2009-05-01 16:44:56 +00:00
Dan Gohman
24b592972d
When creating cast scevs, canonicalize the destination type. This
...
avoids duplicate scevs that differ only in type.
llvm-svn: 70549
2009-05-01 16:44:18 +00:00
Dan Gohman
908d546da3
Fix a compiler warning on hosts where uint64_t isn't unsigned long long.
...
llvm-svn: 70548
2009-05-01 16:33:33 +00:00
Dan Gohman
a55fce998e
Fix some code to work if TargetLowering is not available.
...
llvm-svn: 70546
2009-05-01 16:29:14 +00:00
Bill Wendling
2da6a65b62
Simplify more code and add timer stuff.
...
llvm-svn: 70539
2009-05-01 08:40:06 +00:00
Bill Wendling
0bab670012
Simplify more code.
...
llvm-svn: 70537
2009-05-01 08:35:12 +00:00
Torok Edwin
63c28133ae
hasSCEV() was declared in ScalarEvolution.h, but never defined. This must have
...
gone lost during the pImpl conversion.
llvm-svn: 70536
2009-05-01 08:33:47 +00:00
Bill Wendling
662dfea32e
Simplify some code.
...
llvm-svn: 70534
2009-05-01 08:32:14 +00:00
Bill Wendling
2f01fd9bf1
Fix whitespace. It was confusing me.
...
llvm-svn: 70533
2009-05-01 08:25:13 +00:00
Mike Stump
9581b0eb4c
Lets install the manual page with install-clang! Radar 6838692
...
llvm-svn: 70529
2009-05-01 01:47:55 +00:00
Evan Cheng
d6a780a181
Code clean up. Bye bye PhysRegTracker.
...
llvm-svn: 70524
2009-05-01 01:03:49 +00:00
Argyrios Kyrtzidis
123a0fb56f
Fix compilation for some targets other than x86.
...
llvm-svn: 70522
2009-04-30 23:50:26 +00:00