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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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