1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 22:12:47 +01:00
Commit Graph

25675 Commits

Author SHA1 Message Date
Evan Cheng
7ac8120105 Fix fuitos encoding.
llvm-svn: 59344
2008-11-15 00:40:57 +00:00
Dan Gohman
95967fc7b7 Correct a comment.
llvm-svn: 59341
2008-11-15 00:24:23 +00:00
Dan Gohman
b4151fd731 Move ScheduleDAGList's LatencyPriorityQueue class out to a separate file.
llvm-svn: 59340
2008-11-15 00:23:40 +00:00
Devang Patel
86c9f12e47 Refactor code.
Strip debug information before stripping symbol names. 

llvm-svn: 59328
2008-11-14 22:49:37 +00:00
Dan Gohman
521cee6a9c Add support for building a ScheduleDAG from MachineInstrs. This is currently
fairly conservative; it doesn't do alias-analysis queries and it doesn't
attempt to break anti-dependencies.

llvm-svn: 59324
2008-11-14 21:47:58 +00:00
Evan Cheng
626e85dfc2 Fix MOVrx, MOVsrl_flag, and MOVsra_flag encodings.
llvm-svn: 59314
2008-11-14 20:09:11 +00:00
Dale Johannesen
29e1b2e9fd Remove unneeded stuff from GRAD register class.
llvm-svn: 59311
2008-11-14 18:10:48 +00:00
Richard Osborne
e30cb5908e [XCore] Remove whitespace in the description used when
registering XCoreTargetMachine.

llvm-svn: 59308
2008-11-14 16:19:56 +00:00
Richard Osborne
c2b2d5e6cf [XCore] Fix expansion of 64 bit add/sub. Don't custom expand
these operations if ladd/lsub are not available on the current
subtarget.

llvm-svn: 59305
2008-11-14 15:59:19 +00:00
Richard Osborne
8f86bb4d20 Add XCore intrinsics for getid (returns thread id) and bitrev (reverses
bits in a word).

llvm-svn: 59296
2008-11-14 10:12:16 +00:00
Lang Hames
ed5d29fea5 Test commit.
llvm-svn: 59293
2008-11-14 06:51:35 +00:00
Evan Cheng
c6f581034a ARM / Mac OS X also wants to invalidate icache after jitting.
llvm-svn: 59291
2008-11-14 02:33:17 +00:00
Dan Gohman
bab393fdff For post-regalloc scheduling, remove the instructions from the block
before re-inserting them.

llvm-svn: 59281
2008-11-14 00:33:17 +00:00
Dan Gohman
5b7b7b416b Check in the correct version of the patch in r59279.
llvm-svn: 59280
2008-11-14 00:32:34 +00:00
Dan Gohman
ad452993b0 Debug printing for SUnits that carry MachineInstrs.
llvm-svn: 59279
2008-11-14 00:28:56 +00:00
Dan Gohman
f92f2d0c97 Initial support for carrying MachineInstrs in SUnits.
llvm-svn: 59278
2008-11-14 00:06:09 +00:00
Dan Gohman
2e0edf0617 Change DOTGraphTraits<ScheduleDAG*>::getGraphName how to find the name of
the current function on its own, rather than relying on the SelectionDAG.

llvm-svn: 59277
2008-11-13 23:45:55 +00:00
Evan Cheng
f7c1da41a1 Handle the rest of pseudo instructions.
llvm-svn: 59275
2008-11-13 23:36:57 +00:00
Evan Cheng
feb7615798 Lazy compilation callback save / restore VFP registers.
llvm-svn: 59274
2008-11-13 23:28:54 +00:00
Dan Gohman
0a3ae5c0f2 Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnit
to carry a SmallVector of flagged nodes, just calculate the flagged nodes
dynamically when they are needed.

The local-liveness change is due to a trivial scheduling change where
the scheduler arbitrary decision differently.

llvm-svn: 59273
2008-11-13 23:24:17 +00:00
Owen Anderson
aa9f1836d9 Don't allow the restore point to be placed after terminators. With this change,
MultiSource/Applications is clean with the prealloc splitter.  Some failures
remain in SPEC.

llvm-svn: 59267
2008-11-13 21:53:14 +00:00
Dale Johannesen
de9fdff884 Extend InlineAsm::C_Register to allow multiple specific registers
(actually, code already all worked, only the comment
changed).  Use this to implement 'A' constraint on x86.
Fixes PR 1779.

llvm-svn: 59266
2008-11-13 21:52:36 +00:00
Evan Cheng
f8ba919d76 Always emit a function pointer as a pointer to the function stub (if there is one). This makes it possible to compare function pointer values in lazy compilation mode. This fixes PR3043.
llvm-svn: 59265
2008-11-13 21:50:50 +00:00
Dan Gohman
0cefa8f2ff Make the Node member of SUnit private, and add accessors.
llvm-svn: 59264
2008-11-13 21:36:12 +00:00
Dan Gohman
df9f75e981 Change ScheduleDAG's DAG member from a reference to a pointer, to prepare
for the possibility of scheduling without a SelectionDAG being present.

llvm-svn: 59263
2008-11-13 21:21:28 +00:00
Evan Cheng
4c8297e12b Don't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.
llvm-svn: 59258
2008-11-13 19:22:28 +00:00
Dan Gohman
f63a02ae6c Use find_first/find_next to iterate through all the set bits in a
BitVector, instead of manually testing each bit.

llvm-svn: 59246
2008-11-13 16:31:27 +00:00
Bill Wendling
9dc2bd7973 Modify the intrinsics pattern to separate out the "return" types from the
"parameter" types. An intrinsic can now return a multiple return values like
this:

  def add_with_overflow : Intrinsic<[llvm_i32_ty, llvm_i1_ty],
                                    [LLVMMatchType<0>, LLVMMatchType<0>]>;

llvm-svn: 59237
2008-11-13 09:08:33 +00:00
Evan Cheng
997eb67c20 fsub{d|s} encoding bugs.
llvm-svn: 59234
2008-11-13 07:59:48 +00:00
Evan Cheng
d67d6c4571 Missed a break statement.
llvm-svn: 59231
2008-11-13 07:46:59 +00:00
Evan Cheng
3c0113820b Fix pre- and post-indexed load / store encoding bugs.
llvm-svn: 59230
2008-11-13 07:34:59 +00:00
Bill Wendling
0eb23711fb Refactor the code that does the type checking for intrinsics.
llvm-svn: 59228
2008-11-13 07:11:27 +00:00
Daniel Dunbar
a830cb14f3 Add Binary flag to raw_fd_ostream constructor.
Document raw_fd_ostream's treatment of "-".

llvm-svn: 59219
2008-11-13 05:01:07 +00:00
Devang Patel
2876af73db Really remove all debug information.
llvm-svn: 59208
2008-11-13 01:28:40 +00:00
Bill Wendling
dedf359e39 Regenerated
llvm-svn: 59204
2008-11-13 01:03:00 +00:00
Bill Wendling
f5b264a64b Implement stack protectors as function attributes: "ssp" and "sspreq".
llvm-svn: 59202
2008-11-13 01:02:14 +00:00
Dan Gohman
229c65c05b Move the code that inserts X87 FP_REG_KILL instructions from a
special-purpose hook to a new pass. Also, add check to see if any
x87 virtual registers are used, to avoid doing any work in the
common case that no x87 code is needed.

llvm-svn: 59190
2008-11-12 22:55:05 +00:00
Evan Cheng
4768468ec1 Remove the incorrect assertion. We don't have enough information before relocation to set U bit.
llvm-svn: 59170
2008-11-12 21:37:59 +00:00
Oscar Fuentes
dc2008cb1a CMake: when bulding shared libraries on non-WIN32 systems, link dl to
LLVMSystem.

llvm-svn: 59159
2008-11-12 20:40:56 +00:00
Dale Johannesen
5ad71e113e Fix unsigned char->ppcf128 conversion.
llvm-svn: 59150
2008-11-12 18:38:44 +00:00
Dan Gohman
5f3e5a75b4 Do the LiveVariables update before printing the instruction in
the debug output, so that the updated liveness flags are
reflected in the debug output.

llvm-svn: 59147
2008-11-12 17:15:19 +00:00
Dan Gohman
ceb5b7477b Remove some debugging code made redundant by the change to do
coalescing as a separate pass rather than inside of
LiveIntervalAnalysis.

llvm-svn: 59146
2008-11-12 17:09:23 +00:00
Duncan Sands
4e70a21580 Simplify SplitVecRes_EXTRACT_SUBVECTOR. This means
that it no longer handles non-power-of-two vectors.
However it previously only handled them sometimes,
depending on obscure numerical relationships between
the index and vector type.  For example, for a vector
of length 6, it would succeed if and only if the
index was an even multiple of 6.  I consider this
more confusing than useful.

llvm-svn: 59122
2008-11-12 08:37:57 +00:00
Duncan Sands
117397c8dd Correct some thinkos in the expansion of ADD/SUB
when the target does not support ADDC/SUBC.  This
fixes PR3044.

llvm-svn: 59120
2008-11-12 08:23:26 +00:00
Evan Cheng
b6c760349e Change binary dump format.
llvm-svn: 59119
2008-11-12 08:22:43 +00:00
Evan Cheng
9cb6f40f8f Address mode immediate offset has already been divided by 4.
llvm-svn: 59117
2008-11-12 08:21:12 +00:00
Evan Cheng
80d0d5cfa8 Fix a VFP binary arithmetic instruction encoding bug.
llvm-svn: 59116
2008-11-12 08:14:21 +00:00
Evan Cheng
a4dc0e304e Fix address mode 3 immediate offset mode encoding.
llvm-svn: 59109
2008-11-12 07:34:37 +00:00
Evan Cheng
7fef8cfe75 Consolidate formats; fix FCMPED etc. encodings.
llvm-svn: 59107
2008-11-12 07:18:38 +00:00
Evan Cheng
0966883093 Fix VFP conversion instruction encodings.
llvm-svn: 59104
2008-11-12 06:41:41 +00:00