1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
Commit Graph

47446 Commits

Author SHA1 Message Date
Chris Lattner
07463b0a0a remove dead makefile flags.
llvm-svn: 74065
2009-06-24 05:29:56 +00:00
Chris Lattner
eba5c29922 remove dead makefile flags.
llvm-svn: 74064
2009-06-24 05:28:55 +00:00
Chris Lattner
f8a7746988 implement a bunch of synonyms for section switching.
llvm-svn: 74062
2009-06-24 05:13:15 +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
Dan Gohman
725c99702b Remove an obsolete comment and fix some 80-column violations.
llvm-svn: 74059
2009-06-24 04:47:54 +00:00
Chris Lattner
0945d20ceb add support for parsing and emitting .section directives. We can now parse
things like:
.section __TEXT,__cstring,cstring_literals

llvm-svn: 74058
2009-06-24 04:43:34 +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
60844e20f0 Add a testcase demoing some of ScalarEvolution's new trip count logic.
llvm-svn: 74049
2009-06-24 01:22:30 +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
Chris Lattner
f76b48bc93 create an MCStreamer and provide it to AsmParser.
llvm-svn: 74039
2009-06-24 00:52:40 +00:00
Chris Lattner
1b0e4717b3 stub out a trivial constructor method.
llvm-svn: 74038
2009-06-24 00:51:35 +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
Chris Lattner
d3b90f1344 make the lexer unique strings it lexes instead of passing them back as
std::strings.

llvm-svn: 74036
2009-06-24 00:33:19 +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
Chris Lattner
3962231b43 rename MCImm ->MCValue.
llvm-svn: 74023
2009-06-23 23:31:52 +00:00
Sean Callanan
a227b42ac0 Test commit: fixed spacing.
llvm-svn: 74022
2009-06-23 23:25:37 +00:00
Daniel Dunbar
3126e3e4e2 Add comments for the MCStreamer interface.
llvm-svn: 74019
2009-06-23 23:02:31 +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
Devang Patel
13317bfc64 upgrade
llvm-svn: 74016
2009-06-23 22:11:37 +00:00
Devang Patel
46160f96fb Add DISubprogram::getReturnTypeName()
llvm-svn: 74015
2009-06-23 22:07:48 +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
Douglas Gregor
859f3091db Reinstate target dependencies on Table_gen targets in CMake
llvm-svn: 74003
2009-06-23 21:05:21 +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
Mikhail Glushenkov
d52d5e93d0 Temporary copy-pasto to make examples compile.
llvm-svn: 74001
2009-06-23 20:47:24 +00:00
Mikhail Glushenkov
f7b3bf53e2 Make llvmc work again.
Chris recently broke llvmc with his Makefile changes (r75379). That patch made
the global change .o -> .a, which caused built-in llvmc plugins to stop working
since plugin initialization in llvmc is based on static variables not referenced
from the main executable. This patch implements auto-generated forced references
to the plugin libraries.

llvm-svn: 74000
2009-06-23 20:46:48 +00:00
Mikhail Glushenkov
a09aae730a Typo.
llvm-svn: 73999
2009-06-23 20:46:00 +00:00
Mikhail Glushenkov
b246a5511d A little bit nicer formatting.
llvm-svn: 73998
2009-06-23 20:45:31 +00:00
Mikhail Glushenkov
4e4656fb6a Typo.
llvm-svn: 73997
2009-06-23 20:45:07 +00:00
Daniel Dunbar
92eddad1ba Start sketching MCStreamer interface.
llvm-svn: 73994
2009-06-23 20:24:17 +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
Bill Wendling
067eae128b Add include file to get the type for in64_t.
llvm-svn: 73991
2009-06-23 20:02:00 +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
Bill Wendling
d85f7acc83 "The MMX_MASKMOVQ and MMX_MASKMOVQ64 instructions are labeled as MRMDestMem
instructions, which implies that there is an explicit memory operand.  There is
(however) no explicit memory operand; although this is a store, the only memory
operand is implicit, indicated by DS:EDI.  This causes the table-generation code
for the disassembler to report an error."

Patch by Sean Callanan!

llvm-svn: 73989
2009-06-23 19:52:59 +00:00
Lang Hames
7640e42869 Switched size_t to int64_t to prevent type mismatch in call to max.
llvm-svn: 73988
2009-06-23 19:49:23 +00:00
Evan Cheng
eaad82627b Proper patterns for thumb2 shift and rotate instructions.
llvm-svn: 73987
2009-06-23 19:39:13 +00:00