oota-llvm.git
14 years agoStop the build if cyclic library dependecies found.
Oscar Fuentes [Sat, 2 Oct 2010 03:04:49 +0000 (03:04 +0000)]
Stop the build if cyclic library dependecies found.

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

14 years agoUpdate library dependencies.
Oscar Fuentes [Sat, 2 Oct 2010 03:04:43 +0000 (03:04 +0000)]
Update library dependencies.

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

14 years agoHandle InstPrinter's on the CMake build.
Oscar Fuentes [Sat, 2 Oct 2010 02:38:42 +0000 (02:38 +0000)]
Handle InstPrinter's on the CMake build.

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

14 years agoFix a miscompile in 186.crafty for Thumb2 that was exposed by Evan's
Bob Wilson [Sat, 2 Oct 2010 01:49:29 +0000 (01:49 +0000)]
Fix a miscompile in 186.crafty for Thumb2 that was exposed by Evan's
scheduling change in svn 115121.  The CriticalAntiDepBreaker had bad
liveness information.  It was calculating the KillIndices for one scheduling
region in a basic block, rescheduling that region so the KillIndices were
no longer valid, and then using those wrong KillIndices to make decisions
for the next scheduling region.  I've not been able to reduce a small
testcase for this.  Radar 8502534.

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

14 years agoWind these directories back too. File adds and removes are properly represented
Nick Lewycky [Sat, 2 Oct 2010 01:16:59 +0000 (01:16 +0000)]
Wind these directories back too. File adds and removes are properly represented
in patches. :-(

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

14 years agoContinue reverting r115363.
Nick Lewycky [Sat, 2 Oct 2010 01:08:17 +0000 (01:08 +0000)]
Continue reverting r115363.

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

14 years agoRevert patches r115363 r115367 r115391 due to build breakage:
Nick Lewycky [Sat, 2 Oct 2010 01:06:42 +0000 (01:06 +0000)]
Revert patches r115363 r115367 r115391 due to build breakage:
llvm[2]: Updated LibDeps.txt because dependencies changed
llvm[2]: Checking for cyclic dependencies between LLVM libraries.
find-cycles.pl: Circular dependency between *.a files:
find-cycles.pl:   libLLVMMSP430AsmPrinter.a libLLVMMSP430CodeGen.a

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

14 years agoUpdate CMake files for recent AsmPrinter->InstPrinter changes. Can someone who
Jim Grosbach [Sat, 2 Oct 2010 00:39:56 +0000 (00:39 +0000)]
Update CMake files for recent AsmPrinter->InstPrinter changes. Can someone who
is more familiar with CMake please review?

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

14 years agoStart on lowering global addresses.
Eric Christopher [Sat, 2 Oct 2010 00:32:44 +0000 (00:32 +0000)]
Start on lowering global addresses.

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

14 years agoThis adds a Darwin x86_64 relocation encoding for a subtraction expression
Kevin Enderby [Sat, 2 Oct 2010 00:13:41 +0000 (00:13 +0000)]
This adds a Darwin x86_64 relocation encoding for a subtraction expression
where both symbols are "local", that is non-external symbols, and there is
no "base" for the symbols used in the expression, that is the section has
no non-temporary symbols.  This case looks like this:

% cat local_reloc_A-B.s
.long 0
LB: .long 1
.long LA - LB - 4
.long 2
LA: .long 3

which llvm-mc will not encode without this patch, generates a "unsupported
local relocations in difference" error, but the Darwin assembler will
encode with relocation entries like this:

% otool -rv a.out l.out
a.out:
Relocation information (__TEXT,__text) 2 entries
address  pcrel length extern type    scattered symbolnum/value
00000008 False long   False  SUB     False     1 (__TEXT,__text)
00000008 False long   False  UNSIGND False     1 (__TEXT,__text)

which is very similar to what is encoded when the symbols don't have the
leading 'L' and they are not temporary symbols.  Which llvm-mc and the
Darwin assembler will encoded like this:

Relocation information (__TEXT,__text) 2 entries
address  pcrel length extern type    scattered symbolnum/value
00000008 False long   True   SUB     False     B
00000008 False long   True   UNSIGND False     A

This is the missing relocation encoding needed to allow the Mach-O x86
Dwarf file and line table to be emitted.  So this patch also removes the
TODO from the if() statement in MCMachOStreamer::Finish() that didn't
call MCDwarfFileTable::Emit() for 64-bit targets.

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

14 years agoDrop the use of LiveInterval::iterator and the LiveRange class in
Jakob Stoklund Olesen [Fri, 1 Oct 2010 23:52:27 +0000 (23:52 +0000)]
Drop the use of LiveInterval::iterator and the LiveRange class in
RemoveCopyByCommutingDef.

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

14 years agoWhen RemoveCopyByCommutingDef is creating additional identity copies, just use
Jakob Stoklund Olesen [Fri, 1 Oct 2010 23:52:25 +0000 (23:52 +0000)]
When RemoveCopyByCommutingDef is creating additional identity copies, just use
LiveInterval::MergeValueNumberInto instead of trying to extend LiveRanges and
getting it wrong.

This fixed PR8249 where a valno with a multi-segment live range was defined by
an identity copy created by RemoveCopyByCommutingDef. Some of the live
segments disappeared.

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

14 years agoPretty up the debug output during RemoveCopyByCommutingDef.
Jakob Stoklund Olesen [Fri, 1 Oct 2010 23:52:22 +0000 (23:52 +0000)]
Pretty up the debug output during RemoveCopyByCommutingDef.

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

14 years agoAdd support to let FE mark explict methods as explict in debug info.
Devang Patel [Fri, 1 Oct 2010 23:31:40 +0000 (23:31 +0000)]
Add support to let FE mark explict methods as explict in debug info.

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

14 years agoNuke trailing whitespace.
Jim Grosbach [Fri, 1 Oct 2010 23:29:12 +0000 (23:29 +0000)]
Nuke trailing whitespace.

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

14 years agoPrintSpecial() can go away now.
Jim Grosbach [Fri, 1 Oct 2010 23:27:48 +0000 (23:27 +0000)]
PrintSpecial() can go away now.

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

14 years agoStub out constant GV handling, fixes C++ eh tests.
Eric Christopher [Fri, 1 Oct 2010 23:24:42 +0000 (23:24 +0000)]
Stub out constant GV handling, fixes C++ eh tests.

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

14 years agoNuke the rest of the :comment references
Jim Grosbach [Fri, 1 Oct 2010 23:21:38 +0000 (23:21 +0000)]
Nuke the rest of the :comment references

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

14 years agoNuke a bunch of no-longer-needed comment-only asm strings.
Jim Grosbach [Fri, 1 Oct 2010 23:09:33 +0000 (23:09 +0000)]
Nuke a bunch of no-longer-needed comment-only asm strings.

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

14 years agoNow that the asmprinter itself isn't in the subdir, rename 'AsmPrinter' to
Jim Grosbach [Fri, 1 Oct 2010 22:57:18 +0000 (22:57 +0000)]
Now that the asmprinter itself isn't in the subdir, rename 'AsmPrinter' to
'InstPrinter' to fall into line with the other MC-ized assembly printer
using targets.

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

14 years agoFix r115332: correctly model AGU / NEON mux.
Evan Cheng [Fri, 1 Oct 2010 22:52:29 +0000 (22:52 +0000)]
Fix r115332: correctly model AGU / NEON mux.

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

14 years agoThread the determination of branch prediction hit rates back through the if-conversio...
Owen Anderson [Fri, 1 Oct 2010 22:45:50 +0000 (22:45 +0000)]
Thread the determination of branch prediction hit rates back through the if-conversion heuristic APIs.  For now,
stick with a constant estimate of 90% (branch predictors are good!), but we might find that we want to provide
more nuanced estimates in the future.

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

14 years agoMove the asmprinter and MC lowering out of the AsmPrinter (soon to be
Jim Grosbach [Fri, 1 Oct 2010 22:45:38 +0000 (22:45 +0000)]
Move the asmprinter and MC lowering out of the AsmPrinter (soon to be
InstPrinter) subdir

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

14 years agoFix block descriptor documentation.
Devang Patel [Fri, 1 Oct 2010 22:45:00 +0000 (22:45 +0000)]
Fix block descriptor documentation.

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

14 years agoRename the AsmPrinter directory to InstPrinter for those targets that have
Jim Grosbach [Fri, 1 Oct 2010 22:39:28 +0000 (22:39 +0000)]
Rename the AsmPrinter directory to InstPrinter for those targets that have
been MC-ized for assembly printing. MSP430 is mostly so, but still has the
asm printer and lowering code in the printer subdir for the moment.

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

14 years agoRemove self-described temporary hack. A bit over a year seems a reasonable
Jim Grosbach [Fri, 1 Oct 2010 22:32:12 +0000 (22:32 +0000)]
Remove self-described temporary hack. A bit over a year seems a reasonable
delay. Anton and PIC16 folks, if this is still good to keep, please go ahead
and add it back in with an updated comment about when would be a good time
to revisit.

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

14 years agoFix scheduling infor for vmovn and vshrn which I broke accidentially.
Evan Cheng [Fri, 1 Oct 2010 21:48:06 +0000 (21:48 +0000)]
Fix scheduling infor for vmovn and vshrn which I broke accidentially.

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

14 years agoAdd operand cycles for vldr / vstr.
Evan Cheng [Fri, 1 Oct 2010 21:40:30 +0000 (21:40 +0000)]
Add operand cycles for vldr / vstr.

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

14 years agoNeed to specify SSE4 for machines which don't have SSE4. The code checked for is...
Bill Wendling [Fri, 1 Oct 2010 21:39:35 +0000 (21:39 +0000)]
Need to specify SSE4 for machines which don't have SSE4. The code checked for is generated by SSE4. Otherwise, we get something else.

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

14 years agoDirect calls only for arm fast isel for now.
Eric Christopher [Fri, 1 Oct 2010 21:33:12 +0000 (21:33 +0000)]
Direct calls only for arm fast isel for now.

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

14 years agoFix typo
Francois Pichet [Fri, 1 Oct 2010 21:20:39 +0000 (21:20 +0000)]
Fix typo

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

14 years agoNEON scheduling info fix. vmov reg, reg are single cycle instructions.
Evan Cheng [Fri, 1 Oct 2010 20:50:58 +0000 (20:50 +0000)]
NEON scheduling info fix. vmov reg, reg are single cycle instructions.

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

14 years agoFix thinko on store instructions. Fixes test_indvars failure.
Eric Christopher [Fri, 1 Oct 2010 20:46:04 +0000 (20:46 +0000)]
Fix thinko on store instructions. Fixes test_indvars failure.

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

14 years agoMake the spelling of the flags for old-style if-conversion heuristics consistent...
Owen Anderson [Fri, 1 Oct 2010 20:33:47 +0000 (20:33 +0000)]
Make the spelling of the flags for old-style if-conversion heuristics consistent between ARM and Thumb2.

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

14 years agoProvide an option to restore old-style if-conversion heuristics for Thumb2.
Owen Anderson [Fri, 1 Oct 2010 20:28:06 +0000 (20:28 +0000)]
Provide an option to restore old-style if-conversion heuristics for Thumb2.

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

14 years agoNow that the profitable bits of EnableFullLoadPRE have been enabled by default, rip...
Owen Anderson [Fri, 1 Oct 2010 20:02:55 +0000 (20:02 +0000)]
Now that the profitable bits of EnableFullLoadPRE have been enabled by default, rip out the remainder.
Anyone interested in more general PRE would be better served by implementing it separately, to get real
anticipation calculation, etc.

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

14 years agoPer Cortex-A9 pipeline diagram. AGU (core load / store issue) and NEON/FP issue are...
Evan Cheng [Fri, 1 Oct 2010 19:41:46 +0000 (19:41 +0000)]
Per Cortex-A9 pipeline diagram. AGU (core load / store issue) and NEON/FP issue are multiplexed. Model it correctly.

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

14 years agoFix dbg_declare signature in document.
Devang Patel [Fri, 1 Oct 2010 19:22:16 +0000 (19:22 +0000)]
Fix dbg_declare signature in document.

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

14 years agoFix DIDerived type fields' type in document.
Devang Patel [Fri, 1 Oct 2010 19:19:30 +0000 (19:19 +0000)]
Fix DIDerived type fields' type in document.

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

14 years agoFix code gen crash reported in PR 8235. We still lose debug info for the unused argum...
Devang Patel [Fri, 1 Oct 2010 19:00:44 +0000 (19:00 +0000)]
Fix code gen crash reported in PR 8235. We still lose debug info for the unused argument here. This is a known limitation recorded debuginfo-tests/trunk/dbg-declare2.ll function 'f6' test case.

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

14 years agogrammar
Jim Grosbach [Fri, 1 Oct 2010 14:57:48 +0000 (14:57 +0000)]
grammar

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

14 years agoDelete token *after* reading from it.
Benjamin Kramer [Fri, 1 Oct 2010 12:25:27 +0000 (12:25 +0000)]
Delete token *after* reading from it.

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

14 years agotypo
Gabor Greif [Fri, 1 Oct 2010 10:32:19 +0000 (10:32 +0000)]
typo

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

14 years agoWe must check for something.
Bill Wendling [Fri, 1 Oct 2010 10:20:10 +0000 (10:20 +0000)]
We must check for something.

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

14 years agoDisable tests until I can figure out why they're failing on just two machines but...
Bill Wendling [Fri, 1 Oct 2010 10:01:10 +0000 (10:01 +0000)]
Disable tests until I can figure out why they're failing on just two machines but not others.

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

14 years agoTry adding an mtriple.
Bill Wendling [Fri, 1 Oct 2010 09:40:50 +0000 (09:40 +0000)]
Try adding an mtriple.

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

14 years agoZap some redundant 'ori $?, $?, 0' from SPU.
Kalle Raiskila [Fri, 1 Oct 2010 09:20:01 +0000 (09:20 +0000)]
Zap some redundant 'ori $?, $?, 0' from SPU.
Also remove some code that died in the process.
One now non-existant ori is checked for.

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

14 years agoFix the other half of the alignment changing issue by making sure that the
Eric Christopher [Fri, 1 Oct 2010 09:02:05 +0000 (09:02 +0000)]
Fix the other half of the alignment changing issue by making sure that the
memcpy alignment is the minimum of the incoming alignments.

Fixes PR 8266.

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

14 years agoFileCheck-ize this test.
Bill Wendling [Fri, 1 Oct 2010 08:55:48 +0000 (08:55 +0000)]
FileCheck-ize this test.

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

14 years agoFileCheck-ize this test.
Bill Wendling [Fri, 1 Oct 2010 08:50:12 +0000 (08:50 +0000)]
FileCheck-ize this test.

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

14 years agofix typo
Chris Lattner [Fri, 1 Oct 2010 06:54:02 +0000 (06:54 +0000)]
fix typo

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

14 years agoadd a note
Chris Lattner [Fri, 1 Oct 2010 06:34:49 +0000 (06:34 +0000)]
add a note

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

14 years agofix PR8267 - Instcombine shouldn't optimizer away volatile memcpy's.
Chris Lattner [Fri, 1 Oct 2010 05:51:02 +0000 (05:51 +0000)]
fix PR8267 - Instcombine shouldn't optimizer away volatile memcpy's.

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

14 years agoupgrade this test.
Chris Lattner [Fri, 1 Oct 2010 05:47:16 +0000 (05:47 +0000)]
upgrade this test.

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

14 years agofix rdar://8494845 + PR8244 - a miscompile exposed by my patch in r101350
Chris Lattner [Fri, 1 Oct 2010 05:36:09 +0000 (05:36 +0000)]
fix rdar://8494845 + PR8244 - a miscompile exposed by my patch in r101350

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

14 years agoOne more +sse2.
Dale Johannesen [Fri, 1 Oct 2010 05:08:18 +0000 (05:08 +0000)]
One more +sse2.

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

14 years agomove X86 subdir up a level
Chris Lattner [Fri, 1 Oct 2010 04:32:20 +0000 (04:32 +0000)]
move X86 subdir up a level

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

14 years agoMark all these as needing SSE2. Should fix PPC and
Dale Johannesen [Fri, 1 Oct 2010 04:17:55 +0000 (04:17 +0000)]
Mark all these as needing SSE2.  Should fix PPC and
maybe even Linux.

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

14 years agoFix pasto.
Dale Johannesen [Fri, 1 Oct 2010 01:07:02 +0000 (01:07 +0000)]
Fix pasto.

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

14 years agoDisable these tests for now; it's not obvious why they fail on Linux.
Dale Johannesen [Fri, 1 Oct 2010 00:59:21 +0000 (00:59 +0000)]
Disable these tests for now; it's not obvious why they fail on Linux.

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

14 years agoAdd some doc for the x86mmx type.
Dale Johannesen [Fri, 1 Oct 2010 00:48:59 +0000 (00:48 +0000)]
Add some doc for the x86mmx type.

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

14 years agoAttempt to outwit overly smart compiler.
Dale Johannesen [Fri, 1 Oct 2010 00:21:24 +0000 (00:21 +0000)]
Attempt to outwit overly smart compiler.

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

14 years agoMake test not sensitive to register choice.
Dale Johannesen [Fri, 1 Oct 2010 00:16:17 +0000 (00:16 +0000)]
Make test not sensitive to register choice.

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

14 years agoImplement double return values in calls. Fixes
Eric Christopher [Fri, 1 Oct 2010 00:00:11 +0000 (00:00 +0000)]
Implement double return values in calls. Fixes
SingleSource/Regression/C/casts.c.

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

14 years agoMassive rewrite of MMX:
Dale Johannesen [Thu, 30 Sep 2010 23:57:10 +0000 (23:57 +0000)]
Massive rewrite of MMX:
The x86_mmx type is used for MMX intrinsics, parameters and
return values where these use MMX registers, and is also
supported in load, store, and bitcast.

Only the above operations generate MMX instructions, and optimizations
do not operate on or produce MMX intrinsics.

MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into
smaller pieces.  Optimizations may occur on these forms and the
result casted back to x86_mmx, provided the result feeds into a
previous existing x86_mmx operation.

The point of all this is prevent optimizations from introducing
MMX operations, which is unsafe due to the EMMS problem.

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

14 years agoAdd an explicit initialization to work around what appears to be a valgrind
Daniel Dunbar [Thu, 30 Sep 2010 23:56:49 +0000 (23:56 +0000)]
Add an explicit initialization to work around what appears to be a valgrind
false positive, at least on Darwin. I haven't filed this, but you can feel free.

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

14 years agoTemporarily add a flag to make it easier to compare the new-style ARM if
Owen Anderson [Thu, 30 Sep 2010 23:48:38 +0000 (23:48 +0000)]
Temporarily add a flag to make it easier to compare the new-style ARM if
conversion heuristics to the old-style ones.

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

14 years agoClean up asm writer usage for x86 and msp430 to flag that the writer should
Jim Grosbach [Thu, 30 Sep 2010 23:40:25 +0000 (23:40 +0000)]
Clean up asm writer usage for x86 and msp430 to flag that the writer should
use MC instructions in the printInstruction() method via the tablegen flag
for it rather than a #define prior to including the autogenerated bits.

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

14 years agoMovement and cleanup.
Eric Christopher [Thu, 30 Sep 2010 22:34:19 +0000 (22:34 +0000)]
Movement and cleanup.

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

14 years agotest/CodeGen/X86/sibcall.ll: Add explicit triplets and remove XFAIL: apple-darwin8.
NAKAMURA Takumi [Thu, 30 Sep 2010 22:02:06 +0000 (22:02 +0000)]
test/CodeGen/X86/sibcall.ll: Add explicit triplets and remove XFAIL: apple-darwin8.

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

14 years agoComments about operand cycles and pipeline forwarding pathes.
Evan Cheng [Thu, 30 Sep 2010 22:01:50 +0000 (22:01 +0000)]
Comments about operand cycles and pipeline forwarding pathes.

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

14 years agoPacify a noisy compiler, and sink this variable declaration closer to its uses.
Nick Lewycky [Thu, 30 Sep 2010 21:04:13 +0000 (21:04 +0000)]
Pacify a noisy compiler, and sink this variable declaration closer to its uses.

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

14 years agoWe do want to allow LoadPRE to perform LICM-like transformations: we already consider...
Owen Anderson [Thu, 30 Sep 2010 20:53:04 +0000 (20:53 +0000)]
We do want to allow LoadPRE to perform LICM-like transformations: we already consider PHI nodes to be negligible for
code size (making this transform code size neutral), and it allows us to hoist values out of loops, which is always
a good thing.

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

14 years agoTry again to disable critical edge splitting in CodeGenPrepare.
Jakob Stoklund Olesen [Thu, 30 Sep 2010 20:51:52 +0000 (20:51 +0000)]
Try again to disable critical edge splitting in CodeGenPrepare.

The bug that broke i386 linux has been fixed in r115191.

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

14 years agoStart of generalized call support for ARM fast isel.
Eric Christopher [Thu, 30 Sep 2010 20:49:44 +0000 (20:49 +0000)]
Start of generalized call support for ARM fast isel.

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

14 years agoAllow llvm.gcroot to work with non-pointer allocas.
Talin [Thu, 30 Sep 2010 20:23:47 +0000 (20:23 +0000)]
Allow llvm.gcroot to work with non-pointer allocas.

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

14 years agoFactor some logic into ShouldRelocOnSymbol. This simplifies the code and
Rafael Espindola [Thu, 30 Sep 2010 20:18:35 +0000 (20:18 +0000)]
Factor some logic into ShouldRelocOnSymbol. This simplifies the code and
fixes some cases where we were producing relocations with at symbol that
should use a section instead.

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

14 years agoNuke a few more unused asm strings
Jim Grosbach [Thu, 30 Sep 2010 19:53:58 +0000 (19:53 +0000)]
Nuke a few more unused asm strings

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

14 years agoWhen isel is emitting instructions for an x86 target without CMOV, the CFG is
Jakob Stoklund Olesen [Thu, 30 Sep 2010 19:44:31 +0000 (19:44 +0000)]
When isel is emitting instructions for an x86 target without CMOV, the CFG is
edited during emission.

If the basic block ends in a switch that gets lowered to a jump table, any
phis at the default edge were getting updated wrong. The jump table data
structure keeps a pointer to the header blocks that wasn't getting updated
after the MBB is split.

This bug was exposed on 32-bit Linux when disabling critical edge splitting in
codegen prepare.

The fix is to uipdate stale MBB pointers whenever a block is split during
emission.

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

14 years agoMove getPointerSize() to the base class since it's not dependent on MachO
Jim Grosbach [Thu, 30 Sep 2010 17:45:51 +0000 (17:45 +0000)]
Move getPointerSize() to the base class since it's not dependent on MachO
vs. ELF

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

14 years agoFlesh out the dragonegg section.
Duncan Sands [Thu, 30 Sep 2010 17:37:34 +0000 (17:37 +0000)]
Flesh out the dragonegg section.

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

14 years agomore cleanups.
Chris Lattner [Thu, 30 Sep 2010 17:29:05 +0000 (17:29 +0000)]
more cleanups.

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

14 years agomerge and clean up tests.
Chris Lattner [Thu, 30 Sep 2010 17:24:05 +0000 (17:24 +0000)]
merge and clean up tests.

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

14 years agoRemove extraneous ';'
Jim Grosbach [Thu, 30 Sep 2010 17:19:17 +0000 (17:19 +0000)]
Remove extraneous ';'

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

14 years agomerge two tests.
Chris Lattner [Thu, 30 Sep 2010 17:18:22 +0000 (17:18 +0000)]
merge two tests.

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

14 years agorename test
Chris Lattner [Thu, 30 Sep 2010 17:16:49 +0000 (17:16 +0000)]
rename test

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

14 years agoDid my commit for the last patch for the .loc directory from the wrong place and
Kevin Enderby [Thu, 30 Sep 2010 17:16:09 +0000 (17:16 +0000)]
Did my commit for the last patch for the .loc directory from the wrong place and
missed a bunch of files.  Here the rest.  Sorry about that.

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

14 years agogeneralize test.
Chris Lattner [Thu, 30 Sep 2010 17:15:42 +0000 (17:15 +0000)]
generalize test.

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

14 years agorename test.
Chris Lattner [Thu, 30 Sep 2010 17:14:55 +0000 (17:14 +0000)]
rename test.

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

14 years agomerge two tests.
Chris Lattner [Thu, 30 Sep 2010 17:14:30 +0000 (17:14 +0000)]
merge two tests.

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

14 years agopreemptively add the rest of the non-n fpstack instructions.
Chris Lattner [Thu, 30 Sep 2010 17:11:29 +0000 (17:11 +0000)]
preemptively add the rest of the non-n fpstack instructions.

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

14 years agomerge two tests.
Chris Lattner [Thu, 30 Sep 2010 17:05:37 +0000 (17:05 +0000)]
merge two tests.

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

14 years agofix this to not be completely broken.
Chris Lattner [Thu, 30 Sep 2010 17:04:59 +0000 (17:04 +0000)]
fix this to not be completely broken.

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

14 years agoupdate, unxfail, fix bogus encodings.
Chris Lattner [Thu, 30 Sep 2010 17:03:20 +0000 (17:03 +0000)]
update, unxfail, fix bogus encodings.

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

14 years agoupdate and unxfail
Chris Lattner [Thu, 30 Sep 2010 17:00:53 +0000 (17:00 +0000)]
update and unxfail

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

14 years agounxfail this by fixing syntactic differences.
Chris Lattner [Thu, 30 Sep 2010 16:59:28 +0000 (16:59 +0000)]
unxfail this by fixing syntactic differences.

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

14 years agoThe asm strings are never used at all, so just nuke 'em entirely.
Jim Grosbach [Thu, 30 Sep 2010 16:56:53 +0000 (16:56 +0000)]
The asm strings are never used at all, so just nuke 'em entirely.

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

14 years agoThis is the last major patch to implement support for the .loc directive
Kevin Enderby [Thu, 30 Sep 2010 16:52:03 +0000 (16:52 +0000)]
This is the last major patch to implement support for the .loc directive
and output the dwarf line number tables.  This contains the code to emit and
encode the dwarf line tables from the previously gathered information in the
MCLineSection objects.  This contains all the details to encode the line and
address deltas into the dwarf line table.

To do this an MCDwarfLineAddrFragment has been added.

Also this moves the interface code out of Mach-O streamer into
MCDwarf so it should be useable by other object file formats.

There is now one call to be made from an MCObjectStreamer
EmitInstruction() method:
   MCLineEntry::Make(this, getCurrentSection());
to create a line entry after each instruction is assembled.

And one call call to be made from an MCObjectStreamer Finish() method:
   MCDwarfFileTable::Emit(this, DwarfLineSection);
when getContext().hasDwarfFiles() is true and is passed a object file specific
MCSection where to emit the dwarf file and the line tables.

This appears to now be correct for 32-bit targets, at least x86.  But the
relocation entries for 64-bit Darwin needs some further work which is next
up to work on.  So for now the 64-bit Mach-O target does not output the
dwarf file and line tables.

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

14 years agoimplement support for finit, PR8258
Chris Lattner [Thu, 30 Sep 2010 16:42:53 +0000 (16:42 +0000)]
implement support for finit, PR8258

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

14 years agoChanges EvaluateAsAbsolute() to return the "current value" of the expression
Kevin Enderby [Thu, 30 Sep 2010 16:42:21 +0000 (16:42 +0000)]
Changes EvaluateAsAbsolute() to return the "current value" of the expression
if we are given a Layout object, even in cases when the value is not fixed.
This will be needed by the final patch for the dwarf .loc support to size a
new MCDwarf fragment needed to build and emit dwarf line number tables.

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