oota-llvm.git
15 years agoAdd codegen support for NEON vst4 intrinsics with <1 x i64> vectors.
Bob Wilson [Thu, 8 Oct 2009 05:18:18 +0000 (05:18 +0000)]
Add codegen support for NEON vst4 intrinsics with <1 x i64> vectors.

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

15 years agoMake the Base plugin understand -MF and -MT.
Mikhail Glushenkov [Thu, 8 Oct 2009 04:40:28 +0000 (04:40 +0000)]
Make the Base plugin understand -MF and -MT.

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

15 years agoInput files should go before all other options.
Mikhail Glushenkov [Thu, 8 Oct 2009 04:40:08 +0000 (04:40 +0000)]
Input files should go before all other options.

Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'.

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

15 years agoCleanup up unused R3LiveIn tracking.
Jim Grosbach [Thu, 8 Oct 2009 01:50:26 +0000 (01:50 +0000)]
Cleanup up unused R3LiveIn tracking.

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

15 years agoRe-enable register scavenging in Thumb1 by default.
Jim Grosbach [Thu, 8 Oct 2009 01:46:59 +0000 (01:46 +0000)]
Re-enable register scavenging in Thumb1 by default.

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

15 years agobugfix. The target may use virtual registers that aren't tracked for re-use but are...
Jim Grosbach [Thu, 8 Oct 2009 01:09:45 +0000 (01:09 +0000)]
bugfix. The target may use virtual registers that aren't tracked for re-use but are allocated by the scavenger. The re-use algorithm needs to watch for that.

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

15 years agoAdd codegen support for NEON vst3 intrinsics with <1 x i64> vectors.
Bob Wilson [Thu, 8 Oct 2009 00:28:28 +0000 (00:28 +0000)]
Add codegen support for NEON vst3 intrinsics with <1 x i64> vectors.

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

15 years agoAdd codegen support for NEON vst2 intrinsics with <1 x i64> vectors.
Bob Wilson [Thu, 8 Oct 2009 00:21:01 +0000 (00:21 +0000)]
Add codegen support for NEON vst2 intrinsics with <1 x i64> vectors.

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

15 years agoIn instcombine's debug output, avoid printing ADD for instructions that are
Jeffrey Yasskin [Thu, 8 Oct 2009 00:12:24 +0000 (00:12 +0000)]
In instcombine's debug output, avoid printing ADD for instructions that are
already on the worklist, and print Visited when an instruction is about to be
visited.  Net, on one input, this reduced the output size by at least 9x.

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

15 years agoAdd codegen support for NEON vld4 intrinsics with <1 x i64> vectors.
Bob Wilson [Wed, 7 Oct 2009 23:54:04 +0000 (23:54 +0000)]
Add codegen support for NEON vld4 intrinsics with <1 x i64> vectors.

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

15 years agoConvert more NEON tests to use FileCheck.
Bob Wilson [Wed, 7 Oct 2009 23:47:21 +0000 (23:47 +0000)]
Convert more NEON tests to use FileCheck.

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

15 years agoAdd codegen support for NEON vld3 intrinsics with <1 x i64> vectors.
Bob Wilson [Wed, 7 Oct 2009 23:39:57 +0000 (23:39 +0000)]
Add codegen support for NEON vld3 intrinsics with <1 x i64> vectors.

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

15 years agoFix the OProfile part of PR5018. This fixes --without-oprofile, makes
Jeffrey Yasskin [Wed, 7 Oct 2009 23:22:42 +0000 (23:22 +0000)]
Fix the OProfile part of PR5018. This fixes --without-oprofile, makes
it the default, and works around a broken libopagent on some Debian
systems.

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

15 years agoAdd codegen support for NEON vld2 intrinsics with <1 x i64> vectors.
Bob Wilson [Wed, 7 Oct 2009 22:57:01 +0000 (22:57 +0000)]
Add codegen support for NEON vld2 intrinsics with <1 x i64> vectors.

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

15 years agoreverting thumb1 scavenging default due to test failure while I figure out what's up.
Jim Grosbach [Wed, 7 Oct 2009 22:49:41 +0000 (22:49 +0000)]
reverting thumb1 scavenging default due to test failure while I figure out what's up.

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

15 years agosecond half of lazy liveness removal.
Chris Lattner [Wed, 7 Oct 2009 22:49:30 +0000 (22:49 +0000)]
second half of lazy liveness removal.

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

15 years agoFix handling of x86 'R' constraint.
Dale Johannesen [Wed, 7 Oct 2009 22:47:20 +0000 (22:47 +0000)]
Fix handling of x86 'R' constraint.

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

15 years agoConvert more NEON tests to use FileCheck.
Bob Wilson [Wed, 7 Oct 2009 22:30:19 +0000 (22:30 +0000)]
Convert more NEON tests to use FileCheck.

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

15 years agoEnable thumb1 register scavenging by default.
Jim Grosbach [Wed, 7 Oct 2009 22:26:31 +0000 (22:26 +0000)]
Enable thumb1 register scavenging by default.

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

15 years agoEnable thumb1 register scavenging by default.
Jim Grosbach [Wed, 7 Oct 2009 22:26:14 +0000 (22:26 +0000)]
Enable thumb1 register scavenging by default.

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

15 years agoExtract subprogram and compile unit information from the debug info attached to an...
Devang Patel [Wed, 7 Oct 2009 22:04:08 +0000 (22:04 +0000)]
Extract subprogram and compile unit information from the debug info attached to an instruction.

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

15 years agoAdd some instruction encoding bits for NEON load/store instructions.
Bob Wilson [Wed, 7 Oct 2009 21:53:04 +0000 (21:53 +0000)]
Add some instruction encoding bits for NEON load/store instructions.

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

15 years ago80-column and whitespace fixes.
Eric Christopher [Wed, 7 Oct 2009 21:14:25 +0000 (21:14 +0000)]
80-column and whitespace fixes.

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

15 years agoFixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
Kevin Enderby [Wed, 7 Oct 2009 20:57:20 +0000 (20:57 +0000)]
Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so
that a symbol stub section with no attributes can be parsed as in:
.section __TEXT,__picsymbolstub4,symbol_stubs,none,16

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

15 years agoConvert test to FileCheck.
Bob Wilson [Wed, 7 Oct 2009 20:51:42 +0000 (20:51 +0000)]
Convert test to FileCheck.

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

15 years agoAdd codegen support for NEON vst4 intrinsics with 128-bit vectors.
Bob Wilson [Wed, 7 Oct 2009 20:49:18 +0000 (20:49 +0000)]
Add codegen support for NEON vst4 intrinsics with 128-bit vectors.

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

15 years agoAdd codegen support for NEON vst3 intrinsics with 128-bit vectors.
Bob Wilson [Wed, 7 Oct 2009 20:30:08 +0000 (20:30 +0000)]
Add codegen support for NEON vst3 intrinsics with 128-bit vectors.

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

15 years agogrammar
Jim Grosbach [Wed, 7 Oct 2009 19:08:36 +0000 (19:08 +0000)]
grammar

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

15 years agoAdd codegen support for NEON vst2 intrinsics with 128-bit vectors.
Bob Wilson [Wed, 7 Oct 2009 18:47:39 +0000 (18:47 +0000)]
Add codegen support for NEON vst2 intrinsics with 128-bit vectors.

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

15 years agoadd initializers for clarity. Add missing assignment of PrevLastUseOp.
Jim Grosbach [Wed, 7 Oct 2009 18:44:24 +0000 (18:44 +0000)]
add initializers for clarity. Add missing assignment of PrevLastUseOp.

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

15 years agoRemove LazyLiveness from the tree. It doesn't work right now, and I'm not going...
Owen Anderson [Wed, 7 Oct 2009 18:40:17 +0000 (18:40 +0000)]
Remove LazyLiveness from the tree.  It doesn't work right now, and I'm not going to have the time
to finish it any time soon.  If someone's interested it, they can resurrect it from SVN history.

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

15 years agoAdd codegen support for NEON vld4 intrinsics with 128-bit vectors.
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

15 years agoAdd another bit of the ARM target assembler to llvm-mc to parse registers
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

15 years agoReplace some code for aggressive-remat with MachineInstr::isInvariantLoad, and
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

15 years agoReplace TargetInstrInfo::isInvariantLoad and its target-specific
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

15 years agoAdd a few simple MachineVerifier checks for MachineMemOperands.
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

15 years agoAdd codegen support for NEON vld3 intrinsics with 128-bit vectors.
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

15 years agoRearrange code for selecting vld2 intrinsics. No functionality change.
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

15 years agoAdd tests for vld2 of 128-bit vectors.
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

15 years agoAdd register-reuse to frame-index register scavenging. When a target uses
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

15 years agoDo not assume that the module is set.
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

15 years agoAdd a comment explaining how DenseMap::insert works, because it is not
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

15 years agoAdd PR to this FIXME, looks like I didn't commit this change after all.
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

15 years agoMake getPointerTo return a const PointerType* rather than
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

15 years agoINTRINSIC_W_CHAIN and INTRINSIC_VOID do not use MemSDNode. They
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

15 years agoAdd FreeInst to the "is a call" check for Insts that are calls, but
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

15 years agoFix this comment. The loop header is the loop entry point.
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

15 years agoAdd PseudoSourceValues for constpool stuff on ELF (Darwin should use something similar)
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

15 years agoWhile we still have a MallocInst treat it as a call like any other
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

15 years agoAdded bits of the ARM target assembler to llvm-mc to parse some load instruction
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

15 years agoAdd codegen support for NEON vld2 operations on quad registers.
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

15 years agoUse copyRegToReg hook to copy registers.
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

15 years agor83391 was completely broken since Twines keep references to their inputs, and
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

15 years agoUpdate NEON struct names to match llvm-gcc changes.
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

15 years agoFix a comment typo.
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

15 years agoBugfix for the CommaSeparated option. The original code was adding the whole
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

15 years agoUpdate CMake file.
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

15 years agoFix illegal cross-type aliasing. Found by baldrick on a newer gcc.
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

15 years agoAdd support to handle debug info attached to an instruction.
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

15 years agoMake LLVMContext's pImpl member const.
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

15 years agoInstead of printing unnecessary basic block labels as labels in
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

15 years agoFix PR5112, a miscompilation on gcc-4.0.3. Patch by Collin Winter!
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

15 years agoremove predicate simplifier, it never got the last bugs beaten
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

15 years agoRemove xs1b predicate since it is no longer needed to differentiate betweem
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

15 years agoRemove xs1a subtarget. xs1a is a preproduction device used in
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

15 years agoDefault to the xs1b subtarget
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

15 years agoIntroduce and use convenience methods for getting pointer types
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

15 years agogrammar
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

15 years agoFix cut-n-pasto.
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

15 years agoUpdate processDebugLoc() to handle requests to process debug info, before and after...
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

15 years agoUpdate processDebugLoc() so that it can be used to process debug info before and...
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

15 years agoRemove dead code.
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

15 years agoAdd utility routine to set begin and end labels for DbgScopes.
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

15 years agoRemove unintentional function decl.
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

15 years agoAdd utility routine to collect variable debug info. This is not yet used.
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

15 years agoFix http://llvm.org/PR5116 by rolling back r60822. This passes `make unittests
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

15 years agoSet default location for the function if it is not already set.
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

15 years agoExistence of a compile unit for input source file is a good indicator to check debug...
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

15 years agoIf subprogram die is not available then construct new one.
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

15 years agoAdd a test for http://llvm.org/PR3043.
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

15 years agoAdjust context for the global variables that are not at file scope, e.g.
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

15 years agoSet address while constructing DIE.
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

15 years agoCMake misses a check for sbrk on NetBSD.
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

15 years agoExtend ConstantFolding to understand signed overflow variants
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

15 years agoIn Thumb1, the register scavenger is not always able to use an emergency
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

15 years agoFirst test commit
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

15 years agoDon't treat malloc calls with non-matching prototype as malloc.
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

15 years agoNo newline at end of files.
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

15 years agoGracefully handle various scopes while recording source line info.
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

15 years agoRemove an unnnecessary LLVMContext argument in
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

15 years agoUse Use::operator= instead of Use::set, for consistency.
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

15 years agoRemove explicit enum integer values. They don't appear to be needed, and
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

15 years agoAdd RIP to GR64_NOREX. This fixed a MachineVerifier error when RIP
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

15 years agoFix a name in a comment.
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

15 years agocallgraph changes came after the 2.6 branch.
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

15 years agostrength reduce a ton of type equality tests to check the typeid (Through
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

15 years agoadd more type predicates.
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

15 years agoteach the optimizer how to constant fold uadd/usub intrinsics.
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

15 years agosimplify this code a bunch.
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

15 years agoadd some helper functions.
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