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

54986 Commits

Author SHA1 Message Date
David Greene
7ff6aa2e62 Fix a bad merge.
llvm-svn: 90616
2009-12-04 23:08:02 +00:00
David Greene
4c625161b2 Update the TargetInstrInfo interfaces so hasLoad/StoreFrom/ToStackSlot
can return a MachineMemOperand.

llvm-svn: 90615
2009-12-04 23:00:50 +00:00
Bob Wilson
b8002101b4 Fix indentation.
llvm-svn: 90613
2009-12-04 22:46:47 +00:00
David Greene
d75891618c Use new interfaces to print spill size.
llvm-svn: 90611
2009-12-04 22:46:04 +00:00
David Greene
cb0611ec3b Have hasLoad/StoreFrom/ToStackSlot return the relevant MachineMemOperand.
llvm-svn: 90608
2009-12-04 22:38:46 +00:00
Bob Wilson
8c1617ed73 Fix up some comments.
llvm-svn: 90603
2009-12-04 21:57:37 +00:00
Bob Wilson
514e0d319a Fix 80-column violations.
llvm-svn: 90601
2009-12-04 21:51:35 +00:00
Daniel Dunbar
91a54350f8 OptParser: Emit HelpText field for option groups.
llvm-svn: 90599
2009-12-04 21:41:24 +00:00
Bill Wendling
168e8cb33b Some code cleanup. No functionality change.
llvm-svn: 90588
2009-12-04 21:03:02 +00:00
Victor Hernandez
e865bc76ad Avoid creating a metadata slot for all metadata that contains an instruction
llvm-svn: 90581
2009-12-04 20:07:10 +00:00
Evan Cheng
d587159de8 Handle recursive PHI's.
llvm-svn: 90575
2009-12-04 19:09:10 +00:00
Victor Hernandez
aae1944c56 Fix crasher when N->getElement(n) is NULL
llvm-svn: 90572
2009-12-04 18:29:23 +00:00
Evan Cheng
0b005cade5 Add a pre-regalloc tail duplication pass.
llvm-svn: 90567
2009-12-04 09:42:45 +00:00
Evan Cheng
30aa0aa350 Don't try to be cute with undef optimization here. Let ProcessImplicitDefs handle it.
llvm-svn: 90566
2009-12-04 09:23:37 +00:00
Duncan Sands
90101348bd Add note about a subtle bug in this code. Does not effect the main
architectures that LLVM targets, because they don't use this code.

llvm-svn: 90564
2009-12-04 08:42:17 +00:00
Daniel Dunbar
ff4a35a76b Fix typo and add missing include.
llvm-svn: 90557
2009-12-04 08:17:07 +00:00
Andreas Neustifter
c427ec12c0 Added debug output for inherited passes that are invalidated.
llvm-svn: 90553
2009-12-04 06:58:24 +00:00
Mikhail Glushenkov
9e539d17d4 Forward -m32/-m64 to the linker.
llvm-svn: 90548
2009-12-04 06:38:45 +00:00
Mikhail Glushenkov
0d0b1af76f Support -march/-mtune/-mcpu.
llvm-svn: 90547
2009-12-04 06:38:28 +00:00
Chris Lattner
107fc93d48 Fix PR5551 by not ignoring the top level constantexpr when
folding a load from constant.

llvm-svn: 90545
2009-12-04 06:29:29 +00:00
Chris Lattner
269f4c1c24 add to cmake
llvm-svn: 90539
2009-12-04 04:15:36 +00:00
Chris Lattner
0876163071 Small and carefully crafted testcase showing a miscompilation by GVN
that I'm working on.  This is manifesting as a miscompile of 255.vortex
on some targets.  No check lines yet because it fails.

llvm-svn: 90520
2009-12-04 02:12:12 +00:00
Chris Lattner
167f1dc040 add the start of a class used to handle phi translation in memdep and
gvn (this is just a skeleton so far).  This will ultimately be used
to fix a nasty miscompilation with GVN.

llvm-svn: 90518
2009-12-04 02:10:16 +00:00
Mike Stump
cbbfda910a Create yet another helper for Invoke.
llvm-svn: 90514
2009-12-04 01:53:15 +00:00
Victor Hernandez
8baca1a2de Teach AsmWriter to write inline (not via a global metadata slot) metadata that contains an instruction
llvm-svn: 90512
2009-12-04 01:35:02 +00:00
Bob Wilson
052088272f Fix a comment typo.
llvm-svn: 90511
2009-12-04 01:33:04 +00:00
Mike Stump
9bc36df3e7 Add some helpers for Invoke to mirror CreateCall helpers.
llvm-svn: 90508
2009-12-04 01:26:26 +00:00
Chris Lattner
422a3ff7d5 add an assert to make it really clear what this is doing. Return singularval as
a compile time perf optimization to avoid a load.

llvm-svn: 90507
2009-12-04 01:03:32 +00:00
Jakob Stoklund Olesen
7c5af26d12 Also attempt trivial coalescing for live intervals that end in a copy.
The coalescer is supposed to clean these up, but when setting up parameters
for a function call, there may be copies to physregs. If the defining
instruction has been LICM'ed far away, the coalescer won't touch it.

The register allocation hint does not always work - when the register
allocator is backtracking, it clears the hints.

This patch takes care of a few more cases that r90163 missed.

llvm-svn: 90502
2009-12-04 00:16:04 +00:00
Evan Cheng
0f151e89ab - If the reaching definition is an undef and the use is a PHI, add the implicit_def to the end of the source block.
- When reaching value is replaced with another, update the cache as well.

llvm-svn: 90501
2009-12-04 00:09:05 +00:00
Devang Patel
2e60d7e71f Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.
llvm-svn: 90498
2009-12-03 23:46:57 +00:00
Victor Hernandez
e2129e2966 Add ParseInlineMetadata() which can parses metadata that refers to an instruction. Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata
llvm-svn: 90497
2009-12-03 23:40:58 +00:00
Jim Grosbach
891c545129 remove out of date FIXME.
llvm-svn: 90490
2009-12-03 21:55:01 +00:00
Evan Cheng
73dcaa14fa Handle undef values properly.
llvm-svn: 90489
2009-12-03 21:51:55 +00:00
Evan Cheng
d350df127e Watch out for PHI instruction with no source operands.
llvm-svn: 90488
2009-12-03 21:50:58 +00:00
Bob Wilson
c717c5e7ae Fix a comment typo.
llvm-svn: 90487
2009-12-03 21:47:07 +00:00
Duncan Sands
606510ae1b Fix ExpandShiftWithUnknownAmountBit, which was completely bogus.
Pointed out by Javier Martinez (who also provided a patch).  Since
this logic is not used on (for example) x86, I guess nobody noticed.
Tested by generating SHL, SRL, SRA on various choices of i64 for all
possible shift amounts, and comparing with gcc.  Since I did this on
x86-32, I had to force the use of ExpandShiftWithUnknownAmountBit.
What I'm saying here is that I don't have a testcase I can add to the
repository.

llvm-svn: 90482
2009-12-03 21:37:32 +00:00
Jakob Stoklund Olesen
a78cbb2848 Clean up some loop logic.
llvm-svn: 90481
2009-12-03 20:49:10 +00:00
Devang Patel
fe7cf074f0 Add support to emit debug info for virtual functions and virtual base classes.
llvm-svn: 90474
2009-12-03 19:11:07 +00:00
Dan Gohman
c33030883f Print a newline after the Args: line so that unrelated errs() output doesn't
end up on the same line.

llvm-svn: 90473
2009-12-03 19:03:18 +00:00
Benjamin Kramer
ea59929634 Fix MSVC build.
llvm-svn: 90454
2009-12-03 13:23:03 +00:00
Andreas Neustifter
aed28d814f Convert ProfileVerifier to template so it can be used for different types of ProfileInfo.
llvm-svn: 90451
2009-12-03 12:55:57 +00:00
Andreas Neustifter
75c913c200 Do not create negative edge weights in ProfileEstimator.
Use integer values for weights to prevent rounding errors.
Make ProfileEstimator more robust in general CFGs.

llvm-svn: 90449
2009-12-03 12:41:14 +00:00
Daniel Dunbar
63e2201f3e Add an implementation of the delta debugging algorithm.
- This is a pretty slow / memory intensive implementation, and I will likely
   change it to an iterative model, but it works.

llvm-svn: 90447
2009-12-03 11:12:42 +00:00
Andreas Neustifter
39cc7661ad Use ProfileInfo-API in ProfileInfo Loader and do more assertions.
llvm-svn: 90446
2009-12-03 11:00:37 +00:00
Andreas Neustifter
83d47e4f5f Converted ProfileInfo to template, added more API for ProfileInfo-preserving.
llvm-svn: 90445
2009-12-03 09:30:12 +00:00
Evan Cheng
d4f8c9fee2 Teach tail duplication to update SSA form. Work in progress.
llvm-svn: 90432
2009-12-03 08:43:53 +00:00
Chris Lattner
b46655e25c expand note.
llvm-svn: 90429
2009-12-03 07:43:46 +00:00
Chris Lattner
6b86618a2b add a note
llvm-svn: 90428
2009-12-03 07:41:54 +00:00
Nate Begeman
3a9c51f256 Don't pull vector sext through both hands of a logical operation, since doing so prevents the fusion of vector sext and setcc into vsetcc.
Add a testcase for the above transformation.
Fix a bogus use of APInt noticed while tracking this down.

llvm-svn: 90423
2009-12-03 07:11:29 +00:00