Daniel Dunbar
5f2b8ca5e4
Sketch streamer support for .align, .org functionality.
...
llvm-svn: 74109
2009-06-24 19:25:34 +00:00
Chris Lattner
fda56cf68a
reimplement getPICLabelString as PrintPICBaseSymbol to eliminate std::string heap thrashing.
...
llvm-svn: 74105
2009-06-24 19:19:16 +00:00
Chris Lattner
ee30c14d3b
sink management of DwarfWriter & MachineModuleInfo into the AsmPrinter base class.
...
llvm-svn: 74101
2009-06-24 19:09:55 +00:00
Chris Lattner
d59a5b9f8b
sink dwarf finalization out of each target into AsmPrinter::doFinalization
...
llvm-svn: 74097
2009-06-24 18:54:37 +00:00
Chris Lattner
0690755320
eliminate the ExtWeakSymbols set from AsmPrinter. This eliminates
...
a bunch of code from all the targets, and eliminates nondeterministic
ordering of directives being emitted in the output.
llvm-svn: 74096
2009-06-24 18:52:01 +00:00
Chris Lattner
afabad6552
only emit one .align for all the hidden gv stubs instead of one for each.
...
llvm-svn: 74094
2009-06-24 18:24:42 +00:00
Chris Lattner
0cb01a746f
inline print*Stub and rearrange function stub printing to more closely match
...
gv and hiddengv stub printing.
llvm-svn: 74093
2009-06-24 18:24:09 +00:00
Chris Lattner
ce2854f097
remove dead code now that personality functions don't print stubs directly.
...
llvm-svn: 74092
2009-06-24 18:19:01 +00:00
Chris Lattner
7bc5373357
remove now-dead argument.
...
llvm-svn: 74091
2009-06-24 18:17:56 +00:00
Chris Lattner
3dc8c13453
simplify personality function stub printing to use the mangler and
...
decorateName like other stuff instead of special casing _. Also, stick
it into GVStubs and let the normal stub printer print the stub instead
of doing it manually.
llvm-svn: 74090
2009-06-24 18:17:00 +00:00
Chris Lattner
03ce0b9410
remove dead argument
...
llvm-svn: 74089
2009-06-24 18:00:11 +00:00
Chris Lattner
cabe904f79
Rearrange some stuff in MachineOperand and add a new TargetFlags field.
...
llvm-svn: 74087
2009-06-24 17:54:48 +00:00
Owen Anderson
90f7655f57
Get rid of the global CFGOnly flag by threading a ShortNames parameters through the GraphViz rendering code.
...
Update other uses in the codebase for this change.
llvm-svn: 74084
2009-06-24 17:37:09 +00:00
Dale Johannesen
5bad20bda8
Rewrite 73900 per Duncan's suggestion.
...
llvm-svn: 74082
2009-06-24 17:11:31 +00:00
Daniel Dunbar
082dc70875
We decided to not worry about Atoms for now, it should be straightforward to
...
reintroduce them later.
Also, don't require MCSection* when creating a symbol.
llvm-svn: 74081
2009-06-24 17:00:42 +00:00
Daniel Dunbar
4f0c4c766c
MCStreamer: Add a few more "symbol attributes".
...
llvm-svn: 74077
2009-06-24 16:36:52 +00:00
Daniel Dunbar
691e6009bd
MCStreamer: Test printing values.
...
llvm-svn: 74076
2009-06-24 16:05:35 +00:00
Dan Gohman
34b8ca6976
Minor whitespace cleanups.
...
llvm-svn: 74074
2009-06-24 14:49:00 +00:00
Dan Gohman
b4e1f166e1
Simplify [su]max(MAX, n) to MAX. This comes up in loop tripcount
...
computations in loops with multiple exits.
Adjust the testcase for PR4436 so that the relevant portion isn't
optimized away.
llvm-svn: 74073
2009-06-24 14:46:22 +00:00
Dan Gohman
c2c1e1ff38
When inserting code into a loop preheader, insert it before the
...
terminator, instead of after the last phi. This fixes a bug
exposed by ScalarEvolution analyzing more kinds of loops.
This fixes PR4436.
llvm-svn: 74072
2009-06-24 14:31:06 +00:00
Duncan Sands
070da26191
Add new files to cmake list.
...
llvm-svn: 74071
2009-06-24 10:03:44 +00:00
Chris Lattner
7eb17b387d
factor some code better.
...
llvm-svn: 74067
2009-06-24 05:47:59 +00:00
Chris Lattner
9bce404faa
wire up support for MCContext/MCStreamer in -experimental-asm-printer mode.
...
llvm-svn: 74066
2009-06-24 05:46:28 +00:00
Chris Lattner
07463b0a0a
remove dead makefile flags.
...
llvm-svn: 74065
2009-06-24 05:29:56 +00:00
Dan Gohman
19c3326fc9
Delete some orphaned comments, fix some 80-column violations,
...
and tidy up a few other formatting issues.
llvm-svn: 74060
2009-06-24 04:48:43 +00:00
Chris Lattner
61a6509f6a
add trivial support for passing label definitions through the MCStreamer.
...
This is suboptimal in several aspects, see the commented out assertion.
I need to talk to Daniel about this.
llvm-svn: 74057
2009-06-24 04:31:49 +00:00
Lang Hames
38bf7cf4e2
Fixed a bug in LiveInterval scaling (failure to scale VNI defs correctly), removed old TODO comments.
...
llvm-svn: 74054
2009-06-24 02:17:32 +00:00
Evan Cheng
7292cadf06
Fix support for inline asm input / output operand tying when operand spans across multiple registers (e.g. two i64 operands in 32-bit mode).
...
llvm-svn: 74053
2009-06-24 02:05:51 +00:00
Dan Gohman
4f4bda36df
Extend ScalarEvolution's multiple-exit support to compute exact
...
trip counts in more cases.
Generalize ScalarEvolution's isLoopGuardedByCond code to recognize
And and Or conditions, splitting the code out into an
isNecessaryCond helper function so that it can evaluate Ands and Ors
recursively, and make SCEVExpander be much more aggressive about
hoisting instructions out of loops.
test/CodeGen/X86/pr3495.ll has an additional instruction now, but
it appears to be due to an arbitrary register allocation difference.
llvm-svn: 74048
2009-06-24 01:18:18 +00:00
Nick Lewycky
68273b013b
Unbreak build on Linux by removing Darwinism.
...
llvm-svn: 74046
2009-06-24 01:08:42 +00:00
Dan Gohman
6f0aa30f94
Teach GetMinSignBits about SCEVAddExprs.
...
llvm-svn: 74045
2009-06-24 01:05:09 +00:00
Daniel Dunbar
0e5051b251
Start MCAsmStreamer implementation.
...
llvm-svn: 74044
2009-06-24 01:03:06 +00:00
Dan Gohman
661e8b54fa
Revert this accidental commit.
...
llvm-svn: 74042
2009-06-24 00:55:55 +00:00
Dan Gohman
3bf5d76081
Move the special cases for constants out of getUnknown and into
...
createSCEV. Also, recognize UndefValue in createSCEV.
Change getIntegerSCEV's comment to avoid mentioning FP types,
and re-implement it in terms of getConstant instead of getUnknown.
llvm-svn: 74041
2009-06-24 00:54:57 +00:00
Dan Gohman
0a2dbfc356
Use ScalarEvolution::getConstant instead of getUnknown to create
...
SCEVConstants. This cleanup is a step toward letting getUnknown
be simpler.
llvm-svn: 74037
2009-06-24 00:38:39 +00:00
Dan Gohman
774c9da9c6
Include the maximum trip count expression in ScalarEvolution's print output.
...
llvm-svn: 74035
2009-06-24 00:33:16 +00:00
Dan Gohman
9ccdc738a9
Add an isAllOnesValue utility function, similar to isZero and isOne.
...
llvm-svn: 74032
2009-06-24 00:30:26 +00:00
Dan Gohman
1eb6954545
Don't emit a redundant BitCastInst if the value to be defined in the
...
preheader is already an instruction.
llvm-svn: 74031
2009-06-24 00:28:59 +00:00
Owen Anderson
446169df49
Guard the listeners list. Unfortunately, this requires a real static rather
...
than a managed static because other managed statics can (and do) access this
list in their destructors. Yes, I know it's horrible.
llvm-svn: 74029
2009-06-24 00:25:42 +00:00
Bob Wilson
7bd642b80c
Provide InitializeAllTargets and InitializeNativeTarget functions in the
...
C bindings. Change all the backend "Initialize" functions to have C linkage.
Change the "llvm/Config/Targets.def" header to use C-style comments to avoid
compile warnings.
llvm-svn: 74026
2009-06-23 23:59:40 +00:00
Daniel Dunbar
813ea8a8a7
Update for MCImm -> MCValue rename.
...
llvm-svn: 74024
2009-06-23 23:39:15 +00:00
Sean Callanan
a227b42ac0
Test commit: fixed spacing.
...
llvm-svn: 74022
2009-06-23 23:25:37 +00:00
Devang Patel
5fe5a578c7
It is not a good idea to have data member's name match argument's name. In fact, it is a simple receipe to waste an hour or so.
...
llvm-svn: 74018
2009-06-23 22:25:41 +00:00
Devang Patel
72bc2b09af
Use getReturnTypeName() to print return type.
...
llvm-svn: 74017
2009-06-23 22:23:13 +00:00
Daniel Dunbar
323218db15
Start flushing out MCContext.
...
- Lives inside new library lib/MC (LLVMMC.a)
llvm-svn: 74013
2009-06-23 22:01:43 +00:00
Owen Anderson
2d65e89f30
Use atomic operations when accessing statistics, and make the lazy initialization of statistics actually threadsafe.
...
llvm-svn: 74005
2009-06-23 21:19:38 +00:00
Owen Anderson
5bda03a404
Add atomic multiply and divide operations, built on top of CompareAndSwap.
...
llvm-svn: 74004
2009-06-23 21:19:04 +00:00
Owen Anderson
226e1d8bda
Make timers threadsafe again. This isn't quite as nice as I'd hoped (it uses locking rather than atomic arithmetic),
...
but should work on all the platforms we care about.
I might revisit this if a totally awesome way to do it occurs to me.
llvm-svn: 74002
2009-06-23 20:52:29 +00:00
Owen Anderson
c11dfb46c1
Revert my last series of commits related to Timer and 64-bit atomics. Not all the targets
...
we care about are capable of supporting it.
llvm-svn: 73993
2009-06-23 20:17:22 +00:00
Evan Cheng
4dcc3bd23b
Test instructions operands were printed in the wrong order.
...
llvm-svn: 73990
2009-06-23 19:56:37 +00:00