1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
Commit Graph

11728 Commits

Author SHA1 Message Date
Gabor Greif
2e18d34d80 reapply r101364, which has been backed out in r101368
with a fix

rotate CallInst operands, i.e. move callee to the back
of the operand array

the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary

llvm-svn: 101397
2010-04-15 20:51:13 +00:00
Dan Gohman
034c0f7354 Make getPredecessorWithUniqueSuccessorForBB return the unique successor
in addition to the predecessor.

llvm-svn: 101374
2010-04-15 16:19:08 +00:00
Gabor Greif
6022150477 back out r101364, as it trips the linux nightlybot on some clang C++ tests
llvm-svn: 101368
2010-04-15 12:46:56 +00:00
Gabor Greif
428ca23bbd rotate CallInst operands, i.e. move callee to the back
of the operand array

the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary

llvm-svn: 101364
2010-04-15 10:49:53 +00:00
Dan Gohman
64a84ceb3f Add more const qualifiers for LLVM IR pointers in CodeGen.
llvm-svn: 101342
2010-04-15 04:33:49 +00:00
Dan Gohman
0e0b8cf9fd Add const qualifiers to CodeGen's use of LLVM IR constructs.
llvm-svn: 101334
2010-04-15 01:51:59 +00:00
Dan Gohman
d9d73a414c Fix TrackingVH to handle const Value subclasses.
llvm-svn: 101300
2010-04-14 22:24:25 +00:00
Dan Gohman
a5a1f2f8d0 Remove a const here. This makes this function consistent with all the
other getOperand wrappers, and it makes it easier to use with DebugInfo
code, which isn't currently prepared to see const MDNode *.

llvm-svn: 101299
2010-04-14 22:23:05 +00:00
Dan Gohman
5c72d507d7 Constify GetConstantStringInfo.
llvm-svn: 101298
2010-04-14 22:20:45 +00:00
Dan Gohman
2c2f455dfa Move a bunch of methods from CallSite to CallSiteBase, so that they can
be used in ImmutableCallSite too.

llvm-svn: 101292
2010-04-14 21:47:32 +00:00
Dan Gohman
16ea461eb9 Use FunTy instead of hard-coding Function.
llvm-svn: 101283
2010-04-14 20:49:44 +00:00
Dan Gohman
94f168ddbe Oops, make these public.
llvm-svn: 101280
2010-04-14 20:31:28 +00:00
Dan Gohman
eeaee6bbe3 Move getType() and getCaller() into CallSiteBase so that
ImmutableCallSite can use them too.

llvm-svn: 101279
2010-04-14 20:28:44 +00:00
Dan Gohman
1b67547226 Delete unneeeded arguments.
llvm-svn: 101276
2010-04-14 20:17:22 +00:00
Dan Gohman
d5d199da5f Delete unused arguments.
llvm-svn: 101275
2010-04-14 20:05:00 +00:00
Dan Gohman
c64d1d02a3 Factor out EH landing pad code into a separate function, and constify
a bunch of stuff to support it.

llvm-svn: 101273
2010-04-14 19:53:31 +00:00
Dan Gohman
9ed196804f Fix a missing #include.
llvm-svn: 101270
2010-04-14 18:57:18 +00:00
Dan Gohman
2d61a3f384 Refine #includes.
llvm-svn: 101269
2010-04-14 18:49:17 +00:00
Dan Gohman
d7fc9e258b Split ISD::NodeType and a few related items out of SelectionDAGNodes.h
into a separate header to allow clients to use them without pulling in
SelectionDAG-specific declarations.

llvm-svn: 101268
2010-04-14 18:44:34 +00:00
Dan Gohman
4fd4153d52 Delete an unused function.
llvm-svn: 101263
2010-04-14 17:22:02 +00:00
Dan Gohman
a1656764cc Trim #includes.
llvm-svn: 101255
2010-04-14 16:54:39 +00:00
Dan Gohman
2c09c272ff Move the code for emitting livein copies out of SelectionDAGISel.
llvm-svn: 101254
2010-04-14 16:51:49 +00:00
Dan Gohman
d044ebe427 Fix whitespace, comments.
llvm-svn: 101247
2010-04-14 15:59:02 +00:00
Dan Gohman
b1dc3b2278 Add explicit keywords.
llvm-svn: 101246
2010-04-14 15:50:02 +00:00
Dan Gohman
17f6c8fd41 Use C++, not C++-standard-library-internals-ese.
llvm-svn: 101245
2010-04-14 15:41:50 +00:00
Dan Gohman
ff3522de68 Make SuccIterator's private parts private too.
llvm-svn: 101244
2010-04-14 15:38:15 +00:00
Dan Gohman
c9fee63fce Make helper utility members private.
llvm-svn: 101243
2010-04-14 15:33:04 +00:00
Chris Lattner
124dc743bc implement mc asmparser support for '.', which gets the
current PC.  rdar://7834775

We now produce an identical .o file compared to the cctools
assembler for something like this:

_f0:
L0:
        jmp L1
        .long . - L0
L1:
        jmp A
        .long . - L1

        .zerofill __DATA,_bss,A,0

llvm-svn: 101227
2010-04-14 04:40:28 +00:00
Daniel Dunbar
d3c1f99fa1 Fix -Asserts warnings.
llvm-svn: 101191
2010-04-13 23:34:11 +00:00
Sean Callanan
b76f351c0b Quick fix for build errors caused by undefined
NULL.

llvm-svn: 101180
2010-04-13 21:36:35 +00:00
Sean Callanan
29a7152676 Fixed a nasty layering violation in the edis source
code.  It used to #include the enhanced disassembly
information for the targets it supported straight
out of lib/Target/{X86,ARM,...} but now it uses a
new interface provided by MCDisassembler, and (so
far) implemented by X86 and ARM.

Also removed hacky #define-controlled initialization
of targets in edis.  If clients only want edis to
initialize a limited set of targets, they can set
--enable-targets on the configure command line.

llvm-svn: 101179
2010-04-13 21:21:57 +00:00
Dan Gohman
2bca857d78 Eliminate MachineBasicBlock::const_livein_iterator and make
MachineBasicBlock::livein_iterator a const_iterator, because
clients shouldn't ever be using the iterator interface to
mutate the livein set.

llvm-svn: 101147
2010-04-13 16:57:55 +00:00
Dan Gohman
22f72726f3 Move MachineRegisterInfo's isLiveIn and isLiveOut out of line.
llvm-svn: 101145
2010-04-13 16:55:37 +00:00
Dan Gohman
9652ec03e5 Delete an unused member variable.
llvm-svn: 101143
2010-04-13 16:51:39 +00:00
Owen Anderson
73c74b3153 SCCVN, we hardly knew ye!
llvm-svn: 101117
2010-04-13 05:24:08 +00:00
Daniel Dunbar
6f0c74d0b4 VMCore: Add Type::getIntN[Ptr]Ty, which are the obvious generic forms of
Type::getInt{1,8,...}[Ptr]Ty, so code can consistently use the methods on Type
without occasionally needed to call IntegerType::get.

llvm-svn: 101111
2010-04-13 01:39:07 +00:00
Daniel Dunbar
dbce77ee48 IRBuilder: Add Create{Shl,LShr,And,Or,Xor} methods from uin64_t and APInt constants.
llvm-svn: 101110
2010-04-13 01:38:57 +00:00
Chris Lattner
dabcd9738c add llvm codegen support for -ffunction-sections and -fdata-sections,
patch by Sylvere Teissier!

llvm-svn: 101106
2010-04-13 00:36:43 +00:00
Sean Callanan
7cd2b6d33b Bug fix: included System/Types.h instead of
inttypes.h to allow building on Windows.

llvm-svn: 101062
2010-04-12 20:21:56 +00:00
Dan Gohman
ff456e3f4d Enhance ScalarEvolution::isKnownPredicate with support for
loop conditions which are invariants.

llvm-svn: 100995
2010-04-11 22:16:48 +00:00
Dan Gohman
a76ed3e23b Fix a comment.
llvm-svn: 100992
2010-04-11 22:07:56 +00:00
Dan Gohman
25305cd2d1 Fix a #include.
llvm-svn: 100980
2010-04-11 19:27:52 +00:00
Dan Gohman
9ca5efece4 Rename isLoopGuardedByCond to isLoopEntryGuardedByCond, to emphasise
that it's only testing for the entry condition, not full loop-invariant
conditions.

llvm-svn: 100979
2010-04-11 19:27:13 +00:00
Benjamin Kramer
adc8df5270 utostr isn't going away too soon, try to make it slightly smaller.
llvm-svn: 100977
2010-04-11 19:00:03 +00:00
Chris Lattner
caf521c6b4 add attributes and module level asm to the ocaml bindings,
patch by Patrick Walton!

llvm-svn: 100932
2010-04-10 17:52:58 +00:00
Wesley Peck
6a6f1a5afa Adding IPSCCP and Internalize passes to the C-bindings
llvm-svn: 100893
2010-04-09 20:43:20 +00:00
Ted Kremenek
90babe9f35 Move 'Optional' class from Clang to LLVM/ADT.
llvm-svn: 100889
2010-04-09 20:25:54 +00:00
Bob Wilson
ae630d5518 Fix up header comments to match the comment fixups I made in r100849.
llvm-svn: 100869
2010-04-09 16:24:49 +00:00
Dan Gohman
6798e98b41 Don't use reserved identifiers.
llvm-svn: 100838
2010-04-09 01:19:28 +00:00
Dan Gohman
127f5c53e1 Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.
llvm-svn: 100824
2010-04-08 23:03:40 +00:00