oota-llvm.git
16 years agoif we're going to use a macro, use it maximally. no functionality change.
Chris Lattner [Sun, 16 Nov 2008 03:54:57 +0000 (03:54 +0000)]
if we're going to use a macro, use it maximally.  no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59380 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Forces linking of the rest of architecture targets and its
Oscar Fuentes [Sat, 15 Nov 2008 22:51:03 +0000 (22:51 +0000)]
CMake: Forces linking of the rest of architecture targets and its
respective asm printers on MSVC.

Based on a patch by Scott Graham.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59379 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdds extern "C" ints to the .cpp files that use RegisterTarget, as
Oscar Fuentes [Sat, 15 Nov 2008 21:36:30 +0000 (21:36 +0000)]
Adds extern "C" ints to the .cpp files that use RegisterTarget, as
well as 2 files that use "Registrator"s. These are to be used by the
MSVC builds, as the Win32 linker does not include libs that are
otherwise unreferenced, even if global constructors in the lib have
side-effects.

Patch by Scott Graham!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59378 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Removed some cruft.
Oscar Fuentes [Sat, 15 Nov 2008 20:51:18 +0000 (20:51 +0000)]
CMake: Removed some cruft.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59376 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Recursively invokes cmake using the right directories.
Oscar Fuentes [Sat, 15 Nov 2008 20:35:25 +0000 (20:35 +0000)]
CMake: Recursively invokes cmake using the right directories.

LLVM_MAIN_SRC_DIR and LLVM_BINARY_DIR are not the cmake top level
directories when LLVM is embedded on the build of other project.

Fixes PR #3072.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59374 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClean up some strange whitespace.
Nick Lewycky [Sat, 15 Nov 2008 20:32:33 +0000 (20:32 +0000)]
Clean up some strange whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59373 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrect this error message.
Nick Lewycky [Sat, 15 Nov 2008 17:50:47 +0000 (17:50 +0000)]
Correct this error message.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59370 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd Profile method to ImmutableList.
Zhongxing Xu [Sat, 15 Nov 2008 09:26:02 +0000 (09:26 +0000)]
Add Profile method to ImmutableList.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59362 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoWhen splitting a SHUFFLE_VECTOR, try to have the result
Duncan Sands [Sat, 15 Nov 2008 09:25:38 +0000 (09:25 +0000)]
When splitting a SHUFFLE_VECTOR, try to have the result
use SHUFFLE_VECTOR instead.  If not practical, fall back
to the old scheme of building the split result by hand
using a BUILD_VECTOR.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59361 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd missing widen operations, fixed widening for extracting a subvector,
Mon P Wang [Sat, 15 Nov 2008 06:05:52 +0000 (06:05 +0000)]
Add missing widen operations, fixed widening for extracting a subvector,
and when loading/storing a widen vector, make sure that they are loaded
and stored in consecutive order.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59357 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Adds header and TableGen files to Visual Studio solution. A new
Oscar Fuentes [Sat, 15 Nov 2008 02:08:08 +0000 (02:08 +0000)]
CMake: Adds header and TableGen files to Visual Studio solution. A new
dummy library, `llvm_headers_do_not_build', is created for containing
all header and TableGen files under include/llvm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59346 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix fuitos encoding.
Evan Cheng [Sat, 15 Nov 2008 00:40:57 +0000 (00:40 +0000)]
Fix fuitos encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59344 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Moved generation of Intrinsics.gen to
Oscar Fuentes [Sat, 15 Nov 2008 00:24:38 +0000 (00:24 +0000)]
CMake: Moved generation of Intrinsics.gen to
include/llvm/CMakeLists.txt. Does it with the `tablegen' cmake macro.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59342 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrect a comment.
Dan Gohman [Sat, 15 Nov 2008 00:24:23 +0000 (00:24 +0000)]
Correct a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59341 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove ScheduleDAGList's LatencyPriorityQueue class out to a separate file.
Dan Gohman [Sat, 15 Nov 2008 00:23:40 +0000 (00:23 +0000)]
Move ScheduleDAGList's LatencyPriorityQueue class out to a separate file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59340 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Remove unused tablegenning code from tools/llvmc2/driver.
Oscar Fuentes [Fri, 14 Nov 2008 23:59:50 +0000 (23:59 +0000)]
CMake: Remove unused tablegenning code from tools/llvmc2/driver.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59333 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefactor code.
Devang Patel [Fri, 14 Nov 2008 22:49:37 +0000 (22:49 +0000)]
Refactor code.
Strip debug information before stripping symbol names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59328 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Use LLVM_MAIN_SRC_DIR instead of CMAKE_SOURCE_DIR, for
Oscar Fuentes [Fri, 14 Nov 2008 22:21:02 +0000 (22:21 +0000)]
CMake: Use LLVM_MAIN_SRC_DIR instead of CMAKE_SOURCE_DIR, for
consistency.

Patch by Kevin Andre!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59326 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Fixed dependencies of .cpp source files on .td and tablegenned
Oscar Fuentes [Fri, 14 Nov 2008 22:06:14 +0000 (22:06 +0000)]
CMake: Fixed dependencies of .cpp source files on .td and tablegenned
files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59325 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd support for building a ScheduleDAG from MachineInstrs. This is currently
Dan Gohman [Fri, 14 Nov 2008 21:47:58 +0000 (21:47 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59324 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix MOVrx, MOVsrl_flag, and MOVsra_flag encodings.
Evan Cheng [Fri, 14 Nov 2008 20:09:11 +0000 (20:09 +0000)]
Fix MOVrx, MOVsrl_flag, and MOVsra_flag encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59314 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove unneeded stuff from GRAD register class.
Dale Johannesen [Fri, 14 Nov 2008 18:10:48 +0000 (18:10 +0000)]
Remove unneeded stuff from GRAD register class.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59311 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago[XCore] Remove whitespace in the description used when
Richard Osborne [Fri, 14 Nov 2008 16:19:56 +0000 (16:19 +0000)]
[XCore] Remove whitespace in the description used when
registering XCoreTargetMachine.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59308 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago[XCore] Fix expansion of 64 bit add/sub. Don't custom expand
Richard Osborne [Fri, 14 Nov 2008 15:59:19 +0000 (15:59 +0000)]
[XCore] Fix expansion of 64 bit add/sub. Don't custom expand
these operations if ladd/lsub are not available on the current
subtarget.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59305 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd XCore intrinsics for getid (returns thread id) and bitrev (reverses
Richard Osborne [Fri, 14 Nov 2008 10:12:16 +0000 (10:12 +0000)]
Add XCore intrinsics for getid (returns thread id) and bitrev (reverses
bits in a word).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59296 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTest commit.
Lang Hames [Fri, 14 Nov 2008 06:51:35 +0000 (06:51 +0000)]
Test commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59293 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Disallow in-source builds except when building with the Visual
Oscar Fuentes [Fri, 14 Nov 2008 03:43:18 +0000 (03:43 +0000)]
CMake: Disallow in-source builds except when building with the Visual
Studio IDE. CMake would overwrite the makefiles distributed with LLVM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59292 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoARM / Mac OS X also wants to invalidate icache after jitting.
Evan Cheng [Fri, 14 Nov 2008 02:33:17 +0000 (02:33 +0000)]
ARM / Mac OS X also wants to invalidate icache after jitting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59291 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a version of NewSUnit for creating units with MachineInstrs.
Dan Gohman [Fri, 14 Nov 2008 00:41:36 +0000 (00:41 +0000)]
Add a version of NewSUnit for creating units with MachineInstrs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59282 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFor post-regalloc scheduling, remove the instructions from the block
Dan Gohman [Fri, 14 Nov 2008 00:33:17 +0000 (00:33 +0000)]
For post-regalloc scheduling, remove the instructions from the block
before re-inserting them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59281 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCheck in the correct version of the patch in r59279.
Dan Gohman [Fri, 14 Nov 2008 00:32:34 +0000 (00:32 +0000)]
Check in the correct version of the patch in r59279.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59280 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDebug printing for SUnits that carry MachineInstrs.
Dan Gohman [Fri, 14 Nov 2008 00:28:56 +0000 (00:28 +0000)]
Debug printing for SUnits that carry MachineInstrs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59279 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoInitial support for carrying MachineInstrs in SUnits.
Dan Gohman [Fri, 14 Nov 2008 00:06:09 +0000 (00:06 +0000)]
Initial support for carrying MachineInstrs in SUnits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59278 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange DOTGraphTraits<ScheduleDAG*>::getGraphName how to find the name of
Dan Gohman [Thu, 13 Nov 2008 23:45:55 +0000 (23:45 +0000)]
Change DOTGraphTraits<ScheduleDAG*>::getGraphName how to find the name of
the current function on its own, rather than relying on the SelectionDAG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59277 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoClarify the comment about NumPreds and NumSuccs to reflect that they only
Dan Gohman [Thu, 13 Nov 2008 23:41:41 +0000 (23:41 +0000)]
Clarify the comment about NumPreds and NumSuccs to reflect that they only
count non-control preds and succs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59276 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle the rest of pseudo instructions.
Evan Cheng [Thu, 13 Nov 2008 23:36:57 +0000 (23:36 +0000)]
Handle the rest of pseudo instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59275 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLazy compilation callback save / restore VFP registers.
Evan Cheng [Thu, 13 Nov 2008 23:28:54 +0000 (23:28 +0000)]
Lazy compilation callback save / restore VFP registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59274 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove the FlaggedNodes member from SUnit. Instead of requiring each SUnit
Dan Gohman [Thu, 13 Nov 2008 23:24:17 +0000 (23:24 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59273 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agotestcase for PR 1779.
Dale Johannesen [Thu, 13 Nov 2008 22:17:10 +0000 (22:17 +0000)]
testcase for PR 1779.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59268 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't allow the restore point to be placed after terminators. With this change,
Owen Anderson [Thu, 13 Nov 2008 21:53:14 +0000 (21:53 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59267 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoExtend InlineAsm::C_Register to allow multiple specific registers
Dale Johannesen [Thu, 13 Nov 2008 21:52:36 +0000 (21:52 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59266 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAlways emit a function pointer as a pointer to the function stub (if there is one...
Evan Cheng [Thu, 13 Nov 2008 21:50:50 +0000 (21:50 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59265 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMake the Node member of SUnit private, and add accessors.
Dan Gohman [Thu, 13 Nov 2008 21:36:12 +0000 (21:36 +0000)]
Make the Node member of SUnit private, and add accessors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59264 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange ScheduleDAG's DAG member from a reference to a pointer, to prepare
Dan Gohman [Thu, 13 Nov 2008 21:21:28 +0000 (21:21 +0000)]
Change ScheduleDAG's DAG member from a reference to a pointer, to prepare
for the possibility of scheduling without a SelectionDAG being present.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59263 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd files to VC++ projects.
Steve Naroff [Thu, 13 Nov 2008 21:18:54 +0000 (21:18 +0000)]
Add files to VC++ projects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59262 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.
Evan Cheng [Thu, 13 Nov 2008 19:22:28 +0000 (19:22 +0000)]
Don't forget to emit stubs for function GV's emitted in CONSTPOOL_ENTRY's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59258 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoLLVM can generate native code for amd64 on "Linux".
Dan Gohman [Thu, 13 Nov 2008 19:07:07 +0000 (19:07 +0000)]
LLVM can generate native code for amd64 on "Linux".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59257 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse find_first/find_next to iterate through all the set bits in a
Dan Gohman [Thu, 13 Nov 2008 16:31:27 +0000 (16:31 +0000)]
Use find_first/find_next to iterate through all the set bits in a
BitVector, instead of manually testing each bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59246 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix to record comparator to make it work for return values > 1.
Bill Wendling [Thu, 13 Nov 2008 12:03:00 +0000 (12:03 +0000)]
Fix to record comparator to make it work for return values > 1.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59242 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoPut comma in correct place for call to StructType::get
Bill Wendling [Thu, 13 Nov 2008 10:18:35 +0000 (10:18 +0000)]
Put comma in correct place for call to StructType::get

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59241 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoModify the intrinsics pattern to separate out the "return" types from the
Bill Wendling [Thu, 13 Nov 2008 09:08:33 +0000 (09:08 +0000)]
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>]>;

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59237 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofsub{d|s} encoding bugs.
Evan Cheng [Thu, 13 Nov 2008 07:59:48 +0000 (07:59 +0000)]
fsub{d|s} encoding bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59234 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMissed a break statement.
Evan Cheng [Thu, 13 Nov 2008 07:46:59 +0000 (07:46 +0000)]
Missed a break statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59231 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix pre- and post-indexed load / store encoding bugs.
Evan Cheng [Thu, 13 Nov 2008 07:34:59 +0000 (07:34 +0000)]
Fix pre- and post-indexed load / store encoding bugs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59230 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRefactor the code that does the type checking for intrinsics.
Bill Wendling [Thu, 13 Nov 2008 07:11:27 +0000 (07:11 +0000)]
Refactor the code that does the type checking for intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59228 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd Binary flag to raw_fd_ostream constructor.
Daniel Dunbar [Thu, 13 Nov 2008 05:01:07 +0000 (05:01 +0000)]
Add Binary flag to raw_fd_ostream constructor.

Document raw_fd_ostream's treatment of "-".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59219 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdded testcase for r59214.
Bill Wendling [Thu, 13 Nov 2008 04:09:04 +0000 (04:09 +0000)]
Added testcase for r59214.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59218 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoReally remove all debug information.
Devang Patel [Thu, 13 Nov 2008 01:28:40 +0000 (01:28 +0000)]
Really remove all debug information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59208 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRegenerated
Bill Wendling [Thu, 13 Nov 2008 01:03:00 +0000 (01:03 +0000)]
Regenerated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59204 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate docs for ssp and sspreq function attributes.
Bill Wendling [Thu, 13 Nov 2008 01:02:51 +0000 (01:02 +0000)]
Update docs for ssp and sspreq function attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59203 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement stack protectors as function attributes: "ssp" and "sspreq".
Bill Wendling [Thu, 13 Nov 2008 01:02:14 +0000 (01:02 +0000)]
Implement stack protectors as function attributes: "ssp" and "sspreq".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59202 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRevert the part of r59145 that changed the comment about
Dan Gohman [Wed, 12 Nov 2008 23:24:15 +0000 (23:24 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59194 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove the code that inserts X87 FP_REG_KILL instructions from a
Dan Gohman [Wed, 12 Nov 2008 22:55:05 +0000 (22:55 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59190 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove the incorrect assertion. We don't have enough information before relocation...
Evan Cheng [Wed, 12 Nov 2008 21:37:59 +0000 (21:37 +0000)]
Remove the incorrect assertion. We don't have enough information before relocation to set U bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59170 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: when bulding shared libraries on non-WIN32 systems, link dl to
Oscar Fuentes [Wed, 12 Nov 2008 20:40:56 +0000 (20:40 +0000)]
CMake: when bulding shared libraries on non-WIN32 systems, link dl to
LLVMSystem.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59159 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTell GenLibDeps.pl to inspect .so and .dylib shared files.
Oscar Fuentes [Wed, 12 Nov 2008 20:39:06 +0000 (20:39 +0000)]
Tell GenLibDeps.pl to inspect .so and .dylib shared files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59158 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix unsigned char->ppcf128 conversion.
Dale Johannesen [Wed, 12 Nov 2008 18:38:44 +0000 (18:38 +0000)]
Fix unsigned char->ppcf128 conversion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59150 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDo the LiveVariables update before printing the instruction in
Dan Gohman [Wed, 12 Nov 2008 17:15:19 +0000 (17:15 +0000)]
Do the LiveVariables update before printing the instruction in
the debug output, so that the updated liveness flags are
reflected in the debug output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59147 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove some debugging code made redundant by the change to do
Dan Gohman [Wed, 12 Nov 2008 17:09:23 +0000 (17:09 +0000)]
Remove some debugging code made redundant by the change to do
coalescing as a separate pass rather than inside of
LiveIntervalAnalysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59146 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate VarInfo's comments to reflect the current code. LiveVar
Dan Gohman [Wed, 12 Nov 2008 17:02:24 +0000 (17:02 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59145 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrect a function name in a comment.
Dan Gohman [Wed, 12 Nov 2008 16:53:40 +0000 (16:53 +0000)]
Correct a function name in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59143 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd test case for ptr annotation.
Tanya Lattner [Wed, 12 Nov 2008 16:12:27 +0000 (16:12 +0000)]
Add test case for ptr annotation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59142 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCheck the return value of std::getenv.
Mikhail Glushenkov [Wed, 12 Nov 2008 12:41:18 +0000 (12:41 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59131 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrect these links.
Duncan Sands [Wed, 12 Nov 2008 10:10:25 +0000 (10:10 +0000)]
Correct these links.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59126 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSimplify SplitVecRes_EXTRACT_SUBVECTOR. This means
Duncan Sands [Wed, 12 Nov 2008 08:37:57 +0000 (08:37 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59122 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrect some thinkos in the expansion of ADD/SUB
Duncan Sands [Wed, 12 Nov 2008 08:23:26 +0000 (08:23 +0000)]
Correct some thinkos in the expansion of ADD/SUB
when the target does not support ADDC/SUBC.  This
fixes PR3044.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59120 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoChange binary dump format.
Evan Cheng [Wed, 12 Nov 2008 08:22:43 +0000 (08:22 +0000)]
Change binary dump format.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59119 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAddress mode immediate offset has already been divided by 4.
Evan Cheng [Wed, 12 Nov 2008 08:21:12 +0000 (08:21 +0000)]
Address mode immediate offset has already been divided by 4.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59117 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a VFP binary arithmetic instruction encoding bug.
Evan Cheng [Wed, 12 Nov 2008 08:14:21 +0000 (08:14 +0000)]
Fix a VFP binary arithmetic instruction encoding bug.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59116 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix address mode 3 immediate offset mode encoding.
Evan Cheng [Wed, 12 Nov 2008 07:34:37 +0000 (07:34 +0000)]
Fix address mode 3 immediate offset mode encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59109 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConsolidate formats; fix FCMPED etc. encodings.
Evan Cheng [Wed, 12 Nov 2008 07:18:38 +0000 (07:18 +0000)]
Consolidate formats; fix FCMPED etc. encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59107 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd ptr annotation intrinsic.
Tanya Lattner [Wed, 12 Nov 2008 07:17:57 +0000 (07:17 +0000)]
Add ptr annotation intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59106 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix VFP conversion instruction encodings.
Evan Cheng [Wed, 12 Nov 2008 06:41:41 +0000 (06:41 +0000)]
Fix VFP conversion instruction encodings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59104 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix encoding of single-precision VFP registers.
Evan Cheng [Wed, 12 Nov 2008 02:19:38 +0000 (02:19 +0000)]
Fix encoding of single-precision VFP registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59102 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the testb optimization so x86 also bootstraps.
Dale Johannesen [Wed, 12 Nov 2008 02:00:35 +0000 (02:00 +0000)]
Fix the testb optimization so x86 also bootstraps.
Reenable test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59101 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoVFP fld / fst immediate field is multiplied by 4.
Evan Cheng [Wed, 12 Nov 2008 01:02:24 +0000 (01:02 +0000)]
VFP fld / fst immediate field is multiplied by 4.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59100 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Remove removed source file.
Oscar Fuentes [Wed, 12 Nov 2008 00:14:12 +0000 (00:14 +0000)]
CMake: Remove removed source file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59098 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd a bit of lazy evaluation to PopulateCompilationGraph().
Mikhail Glushenkov [Wed, 12 Nov 2008 00:05:17 +0000 (00:05 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59097 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoSome cosmetic changes.
Mikhail Glushenkov [Wed, 12 Nov 2008 00:04:46 +0000 (00:04 +0000)]
Some cosmetic changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59096 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove
Devang Patel [Tue, 11 Nov 2008 23:58:15 +0000 (23:58 +0000)]
Remove

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59093 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUndo previous check-in.
Devang Patel [Tue, 11 Nov 2008 23:57:33 +0000 (23:57 +0000)]
Undo previous check-in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59092 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis shouldn't be necessary
Andrew Lenharth [Tue, 11 Nov 2008 23:19:51 +0000 (23:19 +0000)]
This shouldn't be necessary

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59090 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix FMDRR encoding.
Evan Cheng [Tue, 11 Nov 2008 22:46:12 +0000 (22:46 +0000)]
Fix FMDRR encoding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59088 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHandle floating point constpool_entry's.
Evan Cheng [Tue, 11 Nov 2008 22:19:31 +0000 (22:19 +0000)]
Handle floating point constpool_entry's.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59087 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDon't walk into predecessors in which the vreg is not live when doing shrinkwrapping.
Owen Anderson [Tue, 11 Nov 2008 22:11:27 +0000 (22:11 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59086 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEncode VFP load / store instructions.
Evan Cheng [Tue, 11 Nov 2008 21:48:44 +0000 (21:48 +0000)]
Encode VFP load / store instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59084 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIn ScheduleDAGRRList::CopyAndMoveSuccessors, create the SUnit for the load
Dan Gohman [Tue, 11 Nov 2008 21:34:44 +0000 (21:34 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59083 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAvoid relying on the SelectionDAG for initializing the MachineFunction and
Dan Gohman [Tue, 11 Nov 2008 21:31:56 +0000 (21:31 +0000)]
Avoid relying on the SelectionDAG for initializing the MachineFunction and
TargetLoweringInfo variables for the scheduler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59082 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Updated library dependency info used for MSVC++.
Oscar Fuentes [Tue, 11 Nov 2008 20:04:40 +0000 (20:04 +0000)]
CMake: Updated library dependency info used for MSVC++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59079 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCMake: Updated list of source files for lib/Transforms/Utils.
Oscar Fuentes [Tue, 11 Nov 2008 19:51:36 +0000 (19:51 +0000)]
CMake: Updated list of source files for lib/Transforms/Utils.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59077 91177308-0d34-0410-b5e6-96231b3b80d8