Commit Graph

42443 Commits

Author SHA1 Message Date
Dan Gohman 6cd8ad06d6 Revert the part of r59145 that changed the comment about
virtual registers possibly having multiple kills while still
being defined and killed in the same block. If LiveIntervals
is manually re-run after two-address lowering, it currently
does add extra kills to two-address instructions, but this
is considered a bug.

llvm-svn: 59194
2008-11-12 23:24:15 +00:00
Dan Gohman 88ba5f0b96 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 287a25d636 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 0c6b786ab2 CMake: when bulding shared libraries on non-WIN32 systems, link dl to
LLVMSystem.

llvm-svn: 59159
2008-11-12 20:40:56 +00:00
Oscar Fuentes 38d6c9a817 Tell GenLibDeps.pl to inspect .so and .dylib shared files.
llvm-svn: 59158
2008-11-12 20:39:06 +00:00
Dale Johannesen 6467858be1 Fix unsigned char->ppcf128 conversion.
llvm-svn: 59150
2008-11-12 18:38:44 +00:00
Dan Gohman 0df957e09d 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 5efcb61337 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
Dan Gohman da82aa3e0d Update VarInfo's comments to reflect the current code. LiveVar
no longer records a unique defining instruction, and virtual
registers may have multiple kills while still being defined
and killed in the same block.

llvm-svn: 59145
2008-11-12 17:02:24 +00:00
Dan Gohman 8a46117376 Correct a function name in a comment.
llvm-svn: 59143
2008-11-12 16:53:40 +00:00
Tanya Lattner 129f4febd2 Add test case for ptr annotation.
llvm-svn: 59142
2008-11-12 16:12:27 +00:00
Mikhail Glushenkov a2909684b6 Check the return value of std::getenv.
When constructing std::strings from C strings, we should check the input
value to be not NULL so that the std::string constructor does not
segfault.
Fixes #3047.

llvm-svn: 59131
2008-11-12 12:41:18 +00:00
Duncan Sands d85a1669b9 Correct these links.
llvm-svn: 59126
2008-11-12 10:10:25 +00:00
Duncan Sands 2907b0085c 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 aa7060c885 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 e4df875dd6 Change binary dump format.
llvm-svn: 59119
2008-11-12 08:22:43 +00:00
Evan Cheng 45d030a05a Address mode immediate offset has already been divided by 4.
llvm-svn: 59117
2008-11-12 08:21:12 +00:00
Evan Cheng 052f20d3b1 Fix a VFP binary arithmetic instruction encoding bug.
llvm-svn: 59116
2008-11-12 08:14:21 +00:00
Evan Cheng 2836d91630 Fix address mode 3 immediate offset mode encoding.
llvm-svn: 59109
2008-11-12 07:34:37 +00:00
Evan Cheng af644b50b4 Consolidate formats; fix FCMPED etc. encodings.
llvm-svn: 59107
2008-11-12 07:18:38 +00:00
Tanya Lattner 9c9abe5936 Add ptr annotation intrinsic.
llvm-svn: 59106
2008-11-12 07:17:57 +00:00
Evan Cheng 4b6c7efbde Fix VFP conversion instruction encodings.
llvm-svn: 59104
2008-11-12 06:41:41 +00:00
Evan Cheng a0e2f26320 Fix encoding of single-precision VFP registers.
llvm-svn: 59102
2008-11-12 02:19:38 +00:00
Dale Johannesen ffc67df2aa Fix the testb optimization so x86 also bootstraps.
Reenable test.

llvm-svn: 59101
2008-11-12 02:00:35 +00:00
Evan Cheng bfcee5b863 VFP fld / fst immediate field is multiplied by 4.
llvm-svn: 59100
2008-11-12 01:02:24 +00:00
Oscar Fuentes 1b504d5372 CMake: Remove removed source file.
llvm-svn: 59098
2008-11-12 00:14:12 +00:00
Mikhail Glushenkov 1cb041242f Add a bit of lazy evaluation to PopulateCompilationGraph().
Only the tools that are mentioned in the compilation graph definition
are now inserted by PopulateCompilationGraph(). This should cut down
plugin loading time a little.

llvm-svn: 59097
2008-11-12 00:05:17 +00:00
Mikhail Glushenkov c1e7dbb1f7 Some cosmetic changes.
llvm-svn: 59096
2008-11-12 00:04:46 +00:00
Devang Patel 4f02a0b740 Remove
llvm-svn: 59093
2008-11-11 23:58:15 +00:00
Devang Patel bf0835706c Undo previous check-in.
llvm-svn: 59092
2008-11-11 23:57:33 +00:00
Andrew Lenharth 7d8b884b12 This shouldn't be necessary
llvm-svn: 59090
2008-11-11 23:19:51 +00:00
Evan Cheng 97ccab888a Fix FMDRR encoding.
llvm-svn: 59088
2008-11-11 22:46:12 +00:00
Evan Cheng ad519bbe54 Handle floating point constpool_entry's.
llvm-svn: 59087
2008-11-11 22:19:31 +00:00
Owen Anderson fd395eb801 Don't walk into predecessors in which the vreg is not live when doing shrinkwrapping.
This lets several failing tests get farther along, but doesn't completely fix any of them.

llvm-svn: 59086
2008-11-11 22:11:27 +00:00
Evan Cheng 8cbbcb1f2f Encode VFP load / store instructions.
llvm-svn: 59084
2008-11-11 21:48:44 +00:00
Dan Gohman e52e0897e2 In ScheduleDAGRRList::CopyAndMoveSuccessors, create the SUnit for the load
before creating the SUnit for the operation that it was unfolded from. This
allows each SUnit to have all of its predecessor SUnits available at the time
it is created. I don't know yet if this will be absolutely required, but it
is a little tidier to do it this way.

llvm-svn: 59083
2008-11-11 21:34:44 +00:00
Dan Gohman fb78ef9fd3 Avoid relying on the SelectionDAG for initializing the MachineFunction and
TargetLoweringInfo variables for the scheduler.

llvm-svn: 59082
2008-11-11 21:31:56 +00:00
Oscar Fuentes 7ae7d91ee0 CMake: Updated library dependency info used for MSVC++.
llvm-svn: 59079
2008-11-11 20:04:40 +00:00
Oscar Fuentes 2353ef3e91 CMake: Updated list of source files for lib/Transforms/Utils.
llvm-svn: 59077
2008-11-11 19:51:36 +00:00
Evan Cheng 38c9a14a88 Encode VFP conversion instructions.
llvm-svn: 59074
2008-11-11 19:40:26 +00:00
Chris Lattner 7db0a21b7b last validation errors
llvm-svn: 59072
2008-11-11 19:36:31 +00:00
Devang Patel 50759f2dad Remove incomplete lto-bugpoint tool. If there is an interest then we can resurrect this tool later on and finish implementation.
llvm-svn: 59071
2008-11-11 19:35:38 +00:00
Chris Lattner 97a5bb1157 fix some validation errors <it> -> <i>
llvm-svn: 59070
2008-11-11 19:35:15 +00:00
Chris Lattner 5f04ce98f2 fix some validation errors.
llvm-svn: 59069
2008-11-11 19:34:28 +00:00
Devang Patel 6096f26bd4 Add utility pass to remove dbg info.
llvm-svn: 59068
2008-11-11 19:33:39 +00:00
Chris Lattner 6ce09d73f0 remove an extraneous tag
llvm-svn: 59067
2008-11-11 19:31:26 +00:00
Chris Lattner d402cc7b6a Make this document *substantially* better and cover a lot more territory.
Document written by Mason Woo (http://www.woo.com)!

llvm-svn: 59066
2008-11-11 19:30:41 +00:00
Devang Patel 38d2c7e0e8 Silence unused variable warning.
llvm-svn: 59064
2008-11-11 19:17:41 +00:00
Devang Patel 95b18126ee Use actual function name in comments.
llvm-svn: 59063
2008-11-11 19:16:41 +00:00
Dan Gohman 5499e89d06 Change the scheduler accessor methods to accept an explicit TargetMachine
argument instead of taking the SelectionDAG's TargetMachine. This is
needed for some upcoming scheduler changes.

llvm-svn: 59055
2008-11-11 17:50:47 +00:00