Bob Wilson [Wed, 7 Oct 2009 18:09:32 +0000 (18:09 +0000)]
Add codegen support for NEON vld4 intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83479
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Wed, 7 Oct 2009 18:01:35 +0000 (18:01 +0000)]
Add another bit of the ARM target assembler to llvm-mc to parse registers
with writeback, things like "sp!", etc. Also added some more stuff to the
temporarily hacked methods ARMAsmParser::MatchRegisterName and
ARMAsmParser::MatchInstruction to allow more parser testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83477
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 17:47:20 +0000 (17:47 +0000)]
Replace some code for aggressive-remat with MachineInstr::isInvariantLoad, and
teach it how to recognize invariant physical registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83476
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 17:38:06 +0000 (17:38 +0000)]
Replace TargetInstrInfo::isInvariantLoad and its target-specific
implementations with a new MachineInstr::isInvariantLoad, which uses
MachineMemOperands and is target-independent. This brings MachineLICM
and other functionality to targets which previously lacked an
isInvariantLoad implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83475
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 17:36:00 +0000 (17:36 +0000)]
Add a few simple MachineVerifier checks for MachineMemOperands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83474
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 17:24:55 +0000 (17:24 +0000)]
Add codegen support for NEON vld3 intrinsics with 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83471
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 17:23:09 +0000 (17:23 +0000)]
Rearrange code for selecting vld2 intrinsics. No functionality change.
This is just to be more consistent with the forthcoming code for vld3/4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83470
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 7 Oct 2009 17:19:13 +0000 (17:19 +0000)]
Add tests for vld2 of 128-bit vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83468
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 7 Oct 2009 17:12:56 +0000 (17:12 +0000)]
Add register-reuse to frame-index register scavenging. When a target uses
a virtual register to eliminate a frame index, it can return that register
and the constant stored there to PEI to track. When scavenging to allocate
for those registers, PEI then tracks the last-used register and value, and
if it is still available and matches the value for the next index, reuses
the existing value rather and removes the re-materialization instructions.
Fancier tracking and adjustment of scavenger allocations to keep more
values live for longer is possible, but not yet implemented and would likely
be better done via a different, less special-purpose, approach to the
problem.
eliminateFrameIndex() is modified so the target implementations can return
the registers they wish to be tracked for reuse.
ARM Thumb1 implements and utilizes the new mechanism. All other targets are
simply modified to adjust for the changed eliminateFrameIndex() prototype.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83467
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 7 Oct 2009 16:37:55 +0000 (16:37 +0000)]
Do not assume that the module is set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83462
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 7 Oct 2009 09:23:56 +0000 (09:23 +0000)]
Add a comment explaining how DenseMap::insert works, because it is not
intuitive.
It does NOT update the value if the key is already in the map,
it also returns false if the key is already in the map, regardless
if the value matched.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83458
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Wed, 7 Oct 2009 09:22:55 +0000 (09:22 +0000)]
Add PR to this FIXME, looks like I didn't commit this change after all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83457
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 Oct 2009 07:35:19 +0000 (07:35 +0000)]
Make getPointerTo return a const PointerType* rather than
an unqualified PointerType* because it seems more correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83454
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 03:00:18 +0000 (03:00 +0000)]
INTRINSIC_W_CHAIN and INTRINSIC_VOID do not use MemSDNode. They
may access memory, but they don't carry a MachineMemOperand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83449
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 7 Oct 2009 00:54:08 +0000 (00:54 +0000)]
Add FreeInst to the "is a call" check for Insts that are calls, but
not intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83441
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 Oct 2009 00:33:10 +0000 (00:33 +0000)]
Fix this comment. The loop header is the loop entry point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83437
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 Oct 2009 00:06:35 +0000 (00:06 +0000)]
Add PseudoSourceValues for constpool stuff on ELF (Darwin should use something similar)
and register spills.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83435
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 7 Oct 2009 00:02:18 +0000 (00:02 +0000)]
While we still have a MallocInst treat it as a call like any other
for inlining.
When MallocInst goes away this code will be subsumed as part of
calls and work just fine...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83434
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Tue, 6 Oct 2009 22:26:42 +0000 (22:26 +0000)]
Added bits of the ARM target assembler to llvm-mc to parse some load instruction
operands. Some parsing of arm memory operands for preindexing and postindexing
forms including with register controled shifts. This is a work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83424
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 6 Oct 2009 22:01:59 +0000 (22:01 +0000)]
Add codegen support for NEON vld2 operations on quad registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83422
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 6 Oct 2009 22:01:15 +0000 (22:01 +0000)]
Use copyRegToReg hook to copy registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83421
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 6 Oct 2009 21:45:26 +0000 (21:45 +0000)]
r83391 was completely broken since Twines keep references to their inputs, and
some of the inputs were temporaries. Here's a real fix for the miscompilation.
Thanks to sabre for pointing out the problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83417
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 6 Oct 2009 21:16:19 +0000 (21:16 +0000)]
Update NEON struct names to match llvm-gcc changes.
(This is not required for correctness but might help with sanity.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83415
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 6 Oct 2009 20:18:46 +0000 (20:18 +0000)]
Fix a comment typo.
Patch by Johnny Chen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83407
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Tue, 6 Oct 2009 19:55:53 +0000 (19:55 +0000)]
Bugfix for the CommaSeparated option. The original code was adding the whole
string at the end of the list, instead of the last comma-separated string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83405
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 Oct 2009 19:45:38 +0000 (19:45 +0000)]
Update CMake file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83404
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 6 Oct 2009 19:06:16 +0000 (19:06 +0000)]
Fix illegal cross-type aliasing. Found by baldrick on a newer gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83401
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 18:37:31 +0000 (18:37 +0000)]
Add support to handle debug info attached to an instruction.
This is not yet enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83400
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Oct 2009 17:43:57 +0000 (17:43 +0000)]
Make LLVMContext's pImpl member const.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83393
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 Oct 2009 17:38:38 +0000 (17:38 +0000)]
Instead of printing unnecessary basic block labels as labels in
verbose-asm mode, print comments instead. This eliminates a non-comment
difference between verbose-asm mode and non-verbose-asm mode.
Also, factor out the relevant code out of all the targets and into
target-independent code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83392
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 6 Oct 2009 17:25:50 +0000 (17:25 +0000)]
Fix PR5112, a miscompilation on gcc-4.0.3. Patch by Collin Winter!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Oct 2009 16:59:46 +0000 (16:59 +0000)]
remove predicate simplifier, it never got the last bugs beaten
out of it, and jump threading, condprop and gvn are now getting
most of the benefit. This was approved by Nicholas and Nicolas.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83390
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Tue, 6 Oct 2009 16:17:57 +0000 (16:17 +0000)]
Remove xs1b predicate since it is no longer needed to differentiate betweem
xs1a and xs1b.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83383
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Tue, 6 Oct 2009 16:01:09 +0000 (16:01 +0000)]
Remove xs1a subtarget. xs1a is a preproduction device used in
early development boards which is no longer supported in the
XMOS toolchain.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83381
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Tue, 6 Oct 2009 15:41:52 +0000 (15:41 +0000)]
Default to the xs1b subtarget
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83380
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 6 Oct 2009 15:40:36 +0000 (15:40 +0000)]
Introduce and use convenience methods for getting pointer types
where the element is of a basic builtin type. For example, to get
an i8* use getInt8PtrTy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 6 Oct 2009 15:03:44 +0000 (15:03 +0000)]
grammar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83378
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 03:15:38 +0000 (03:15 +0000)]
Fix cut-n-pasto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83367
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 03:04:58 +0000 (03:04 +0000)]
Update processDebugLoc() to handle requests to process debug info, before and after emitting instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83364
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 02:19:11 +0000 (02:19 +0000)]
Update processDebugLoc() so that it can be used to process debug info before and after printing an instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83363
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 02:01:32 +0000 (02:01 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83362
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 01:50:42 +0000 (01:50 +0000)]
Add utility routine to set begin and end labels for DbgScopes.
This will be used by processDebugLoc().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83361
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 01:31:35 +0000 (01:31 +0000)]
Remove unintentional function decl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83356
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 01:26:37 +0000 (01:26 +0000)]
Add utility routine to collect variable debug info. This is not yet used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83355
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Tue, 6 Oct 2009 00:35:55 +0000 (00:35 +0000)]
Fix llvm.org/PR5116 by rolling back r60822. This passes `make unittests
check-lit` on both x86-64 Linux and x86-32 Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83353
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 00:09:08 +0000 (00:09 +0000)]
Set default location for the function if it is not already set.
This code is not yet enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83349
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 Oct 2009 00:03:14 +0000 (00:03 +0000)]
Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83348
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Oct 2009 23:59:00 +0000 (23:59 +0000)]
If subprogram die is not available then construct new one.
This can happen if debug info is processed lazily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83347
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeffrey Yasskin [Mon, 5 Oct 2009 23:51:08 +0000 (23:51 +0000)]
Add a test for http://llvm.org/PR3043.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83346
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Oct 2009 23:40:42 +0000 (23:40 +0000)]
Adjust context for the global variables that are not at file scope, e.g.
void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83344
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Oct 2009 23:22:08 +0000 (23:22 +0000)]
Set address while constructing DIE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83343
91177308-0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Mon, 5 Oct 2009 23:05:32 +0000 (23:05 +0000)]
CMake misses a check for sbrk on NetBSD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83341
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Phoenix [Mon, 5 Oct 2009 22:53:52 +0000 (22:53 +0000)]
Extend ConstantFolding to understand signed overflow variants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83338
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 5 Oct 2009 22:30:23 +0000 (22:30 +0000)]
In Thumb1, the register scavenger is not always able to use an emergency
spill slot. When frame references are via the frame pointer, they will be
negative, but Thumb1 load/store instructions only allow positive immediate
offsets. Instead, Thumb1 will spill to R12.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83336
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Phoenix [Mon, 5 Oct 2009 22:29:11 +0000 (22:29 +0000)]
First test commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83334
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Mon, 5 Oct 2009 21:15:43 +0000 (21:15 +0000)]
Don't treat malloc calls with non-matching prototype as malloc.
Fixes second part of PR5130, miscompilation in FreeBSD kernel, where malloc takes 3 params,
and *does* initialize memory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83324
91177308-0d34-0410-b5e6-
96231b3b80d8
Edward O'Callaghan [Mon, 5 Oct 2009 18:43:19 +0000 (18:43 +0000)]
No newline at end of files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83318
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 Oct 2009 18:03:19 +0000 (18:03 +0000)]
Gracefully handle various scopes while recording source line info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83317
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Oct 2009 16:36:26 +0000 (16:36 +0000)]
Remove an unnnecessary LLVMContext argument in
ConstantFoldLoadThroughGEPConstantExpr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83311
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Oct 2009 16:31:55 +0000 (16:31 +0000)]
Use Use::operator= instead of Use::set, for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83310
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Oct 2009 15:52:08 +0000 (15:52 +0000)]
Remove explicit enum integer values. They don't appear to be needed, and
they make it less convenient to add new entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83308
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Oct 2009 15:42:08 +0000 (15:42 +0000)]
Add RIP to GR64_NOREX. This fixed a MachineVerifier error when RIP
is used in an operand which requires GR64_NOREX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83307
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 Oct 2009 15:23:17 +0000 (15:23 +0000)]
Fix a name in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83306
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 07:07:29 +0000 (07:07 +0000)]
callgraph changes came after the 2.6 branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83299
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 05:54:46 +0000 (05:54 +0000)]
strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison. Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 05:48:40 +0000 (05:48 +0000)]
add more type predicates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83296
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 05:26:04 +0000 (05:26 +0000)]
teach the optimizer how to constant fold uadd/usub intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83295
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 05:06:24 +0000 (05:06 +0000)]
simplify this code a bunch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83294
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 05:05:57 +0000 (05:05 +0000)]
add some helper functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83293
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 05:00:35 +0000 (05:00 +0000)]
code simplifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83292
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 5 Oct 2009 02:51:06 +0000 (02:51 +0000)]
Move implicit and paralle to a separate codegen specific section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83291
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 02:47:47 +0000 (02:47 +0000)]
instcombine shouldn't delete all null checks for mallocs.
This fixes PR5130.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83290
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 02:35:05 +0000 (02:35 +0000)]
stop MachineFunctionPass from claiming that it preserves LoopDependence info,
which causes dependence info to be linked into lli.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83289
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 02:29:51 +0000 (02:29 +0000)]
remove llvm-db: it is completely broken and if anyone wants to do a debugger,
they should not base it on llvm-db (which not following almost any "best practices").
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83288
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 Oct 2009 02:12:39 +0000 (02:12 +0000)]
add some completely unformated and probably incoherent notes about things
I saw while reading all the commits between the 2.5 and 2.6 release branches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83287
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sun, 4 Oct 2009 18:49:55 +0000 (18:49 +0000)]
Do away with the strange use of BitVectors in SSI, and just use normal sets. This makes the code much more C++/LLVM-ish.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83286
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sun, 4 Oct 2009 18:18:39 +0000 (18:18 +0000)]
Whitespace and formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83285
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sun, 4 Oct 2009 17:54:36 +0000 (17:54 +0000)]
Remove trailing whitespace from build output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83284
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sun, 4 Oct 2009 17:52:13 +0000 (17:52 +0000)]
Fix a typo in the comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83283
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sun, 4 Oct 2009 17:47:39 +0000 (17:47 +0000)]
SSI needs to require DT and DF transitively, since it uses them outside of its runOnFunction.
Similarly, it can be marked setPreservesAll, since it does no work in its runOnFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83282
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sun, 4 Oct 2009 06:24:57 +0000 (06:24 +0000)]
CMake: remove .so file extension from library names when building
dependency info.
Patch by Peter Collingbourne!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83275
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 4 Oct 2009 06:13:54 +0000 (06:13 +0000)]
Allow -inline-threshold override default threshold even if compiling to optimize for size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83274
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 4 Oct 2009 05:25:42 +0000 (05:25 +0000)]
Rename enum NumOccurrences to NumOccurrencesFlag since there is a member named NumOccurrences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83273
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 3 Oct 2009 19:30:43 +0000 (19:30 +0000)]
Requires element types in a constant initializer to match the element types of
of the constant. This reverts r6544 and r7428.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83270
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Sat, 3 Oct 2009 04:44:16 +0000 (04:44 +0000)]
Add a comment to describe letters used in multiclass name suffixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83257
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Sat, 3 Oct 2009 04:41:21 +0000 (04:41 +0000)]
Fix encoding problem for VMLS instruction.
Thanks to Johnny Chen for pointing this out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83256
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Sat, 3 Oct 2009 04:31:31 +0000 (04:31 +0000)]
Oops. Renamed remaining MachineInstrIndex references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83255
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Sat, 3 Oct 2009 04:21:37 +0000 (04:21 +0000)]
Renamed MachineInstrIndex to LiveIndex.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83254
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 2 Oct 2009 19:52:33 +0000 (19:52 +0000)]
Try to fix unit test linking on linux ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83252
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 2 Oct 2009 19:36:31 +0000 (19:36 +0000)]
MingW build fixes
- MingW needs -lpsapi (in ${LIBS}) linked after -lLLVMSystem.
Noticed by Ronald Pijnacker!
- Some parts of the System library must be build with exceptions on windows.
Based on a patch by Jay Foad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83251
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 2 Oct 2009 15:59:52 +0000 (15:59 +0000)]
Fix a use-after-free in post-ra-scheduling.
MI->addOperand invalidates references to it's operands, avoid touching
the operand after a new one was added.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83249
91177308-0d34-0410-b5e6-
96231b3b80d8
Torok Edwin [Fri, 2 Oct 2009 09:30:03 +0000 (09:30 +0000)]
Fix make rule when objdir is inside srcdir.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83243
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 2 Oct 2009 06:57:25 +0000 (06:57 +0000)]
getFunctionAlignment should return log2 alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83242
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 2 Oct 2009 06:53:57 +0000 (06:53 +0000)]
Fix tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83241
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 2 Oct 2009 06:50:50 +0000 (06:50 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83240
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 2 Oct 2009 06:07:47 +0000 (06:07 +0000)]
C++ member functions must be 2 byte aligned per ABI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83239
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 2 Oct 2009 05:03:07 +0000 (05:03 +0000)]
Forgot about ARM::tPUSH. It also has a new writeback operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83237
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 2 Oct 2009 04:57:15 +0000 (04:57 +0000)]
Move load / store multiple before post-alloc scheduling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83236
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 2 Oct 2009 04:45:37 +0000 (04:45 +0000)]
Test case for aligned attribute on function declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83234
91177308-0d34-0410-b5e6-
96231b3b80d8
David Goodwin [Thu, 1 Oct 2009 23:28:47 +0000 (23:28 +0000)]
All callee-saved registers are live-out of a return block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83223
91177308-0d34-0410-b5e6-
96231b3b80d8