oota-llvm.git
17 years agoFix prolific source of 'possible loss of data' warnings.
Jeff Cohen [Fri, 27 Apr 2007 14:43:05 +0000 (14:43 +0000)]
Fix prolific source of 'possible loss of data' warnings.

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

17 years agoARM TLS: implement "general dynamic", "initial exec" and "local exec" models.
Lauro Ramos Venancio [Fri, 27 Apr 2007 13:54:47 +0000 (13:54 +0000)]
ARM TLS: implement "general dynamic", "initial exec" and "local exec" models.

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

17 years agoDarwin runtime library does not have these.
Evan Cheng [Fri, 27 Apr 2007 08:15:43 +0000 (08:15 +0000)]
Darwin runtime library does not have these.

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

17 years agoSpecial handling of LEApcrel and tLEApcrel.
Evan Cheng [Fri, 27 Apr 2007 08:14:15 +0000 (08:14 +0000)]
Special handling of LEApcrel and tLEApcrel.

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

17 years agoBack out previous check-in. Incorrect.
Evan Cheng [Fri, 27 Apr 2007 07:50:02 +0000 (07:50 +0000)]
Back out previous check-in. Incorrect.

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

17 years agotLEApcrel is a AddrModeTs, i.e. pc relative.
Evan Cheng [Fri, 27 Apr 2007 07:37:22 +0000 (07:37 +0000)]
tLEApcrel is a AddrModeTs, i.e. pc relative.

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

17 years agoExpand UINT_TO_FP in turns of SINT_TO_FP when UINTTOFP_* libcalls are not available.
Evan Cheng [Fri, 27 Apr 2007 07:33:31 +0000 (07:33 +0000)]
Expand UINT_TO_FP in turns of SINT_TO_FP when UINTTOFP_* libcalls are not available.

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

17 years agoTest that eh_selector lowering accepts global variables as well as bitcasts
Duncan Sands [Fri, 27 Apr 2007 06:56:53 +0000 (06:56 +0000)]
Test that eh_selector lowering accepts global variables as well as bitcasts
of global variables.

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

17 years agoimprove EH global handling, patch by Duncan Sands.
Chris Lattner [Fri, 27 Apr 2007 01:20:11 +0000 (01:20 +0000)]
improve EH global handling, patch by Duncan Sands.

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

17 years agoMove ~Pass() from Pass.h into Pass.cpp
Devang Patel [Thu, 26 Apr 2007 21:33:42 +0000 (21:33 +0000)]
Move ~Pass() from Pass.h into Pass.cpp

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

17 years agoUnxfail tests
Anton Korobeynikov [Thu, 26 Apr 2007 21:20:04 +0000 (21:20 +0000)]
Unxfail tests

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

17 years agoenable Anton's shift/and switch lowering stuff! It now passes ppc bootstrap
Chris Lattner [Thu, 26 Apr 2007 21:09:43 +0000 (21:09 +0000)]
enable Anton's shift/and switch lowering stuff!  It now passes ppc bootstrap
successfully! woohoo...

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

17 years agoFix PR1339 and CodeGen/X86/dollar-name.ll
Dan Gohman [Thu, 26 Apr 2007 21:07:05 +0000 (21:07 +0000)]
Fix PR1339 and CodeGen/X86/dollar-name.ll

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

17 years agoHave MMX registers clobbered in x86-64 too.
Bill Wendling [Thu, 26 Apr 2007 21:06:48 +0000 (21:06 +0000)]
Have MMX registers clobbered in x86-64 too.

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

17 years agoDelete Analysis Resolver.
Devang Patel [Thu, 26 Apr 2007 21:06:41 +0000 (21:06 +0000)]
Delete Analysis Resolver.

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

17 years agotestcase for PR1339: http://llvm.org/PR1339
Dan Gohman [Thu, 26 Apr 2007 21:04:39 +0000 (21:04 +0000)]
testcase for PR1339: http://llvm.org/PR1339

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

17 years agoAdd test to proper place. Also, XFAIL until ppc bootstrap will be ok.
Anton Korobeynikov [Thu, 26 Apr 2007 20:49:05 +0000 (20:49 +0000)]
Add test to proper place. Also, XFAIL until ppc bootstrap will be ok.

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

17 years agoFixx off-by-one bug, which prevents llvm-gcc bootstrap on ppc32
Anton Korobeynikov [Thu, 26 Apr 2007 20:44:04 +0000 (20:44 +0000)]
Fixx off-by-one bug, which prevents llvm-gcc bootstrap on ppc32

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

17 years agoUpdate a comment to reflect recent changes in the type system.
Dan Gohman [Thu, 26 Apr 2007 19:43:14 +0000 (19:43 +0000)]
Update a comment to reflect recent changes in the type system.

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

17 years agoFix a typo in a comment.
Dan Gohman [Thu, 26 Apr 2007 19:40:56 +0000 (19:40 +0000)]
Fix a typo in a comment.

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

17 years agoAn example for PR1362
Andrew Lenharth [Thu, 26 Apr 2007 19:28:33 +0000 (19:28 +0000)]
An example for PR1362

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

17 years agoRename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.
Evan Cheng [Thu, 26 Apr 2007 19:00:32 +0000 (19:00 +0000)]
Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion.

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

17 years ago1. Don't swap byte order in scanf. It isn't necessary and leads to
Reid Spencer [Thu, 26 Apr 2007 18:19:35 +0000 (18:19 +0000)]
1. Don't swap byte order in scanf. It isn't necessary and leads to
   incorrect results (canonicalization was dropped several commits ago).
2. Add support for fscanf.
3. Suppress a warning about cast to pointer from non-pointer-sized integer.

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

17 years agoUse toplevel function pass manager as OnTheFly manager.
Devang Patel [Thu, 26 Apr 2007 17:50:19 +0000 (17:50 +0000)]
Use toplevel function pass manager as OnTheFly manager.

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

17 years agobugfix: remember that ResNode was declared.
Lauro Ramos Venancio [Thu, 26 Apr 2007 17:03:22 +0000 (17:03 +0000)]
bugfix: remember that ResNode was declared.

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

17 years agoAdd two test cases to cover apintification change.
Zhou Sheng [Thu, 26 Apr 2007 16:44:48 +0000 (16:44 +0000)]
Add two test cases to cover apintification change.

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

17 years agoUsing APInt more efficiently.
Zhou Sheng [Thu, 26 Apr 2007 16:42:07 +0000 (16:42 +0000)]
Using APInt more efficiently.

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

17 years agoRename identifier that GCC uses as a macro, breaking llvm-gcc build.
Jeff Cohen [Thu, 26 Apr 2007 15:07:47 +0000 (15:07 +0000)]
Rename identifier that GCC uses as a macro, breaking llvm-gcc build.

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

17 years agoMinor bug.
Evan Cheng [Thu, 26 Apr 2007 08:24:22 +0000 (08:24 +0000)]
Minor bug.

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

17 years agostart code for writing out instructions. Separate BB#s from normal value
Chris Lattner [Thu, 26 Apr 2007 05:53:54 +0000 (05:53 +0000)]
start code for writing out instructions.  Separate BB#s from normal value
#'s.

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

17 years agostart defining codes for instructions
Chris Lattner [Thu, 26 Apr 2007 05:53:04 +0000 (05:53 +0000)]
start defining codes for instructions

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

17 years agoregen
Chris Lattner [Thu, 26 Apr 2007 05:31:05 +0000 (05:31 +0000)]
regen

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

17 years agowrap long lines
Chris Lattner [Thu, 26 Apr 2007 05:30:35 +0000 (05:30 +0000)]
wrap long lines

Fix PR1358 and test/Assembler/2007-04-25-AssemblerFoldExternWeak.ll, by
creating forward decl globals with linkage extern_weak to defeat implicit
constant folding.

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

17 years agonew testcase
Chris Lattner [Thu, 26 Apr 2007 05:28:45 +0000 (05:28 +0000)]
new testcase

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

17 years agoenumerate BB's separately from other function values.
Chris Lattner [Thu, 26 Apr 2007 04:42:16 +0000 (04:42 +0000)]
enumerate BB's separately from other function values.

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

17 years agoFor PR1355:
Reid Spencer [Thu, 26 Apr 2007 03:59:24 +0000 (03:59 +0000)]
For PR1355:
Make the script process multiple files and describe its usage properly.

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

17 years agoadd support for incorporating and purging functions to the value enumerator
Chris Lattner [Thu, 26 Apr 2007 03:50:57 +0000 (03:50 +0000)]
add support for incorporating and purging functions to the value enumerator

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

17 years agoimprove a comment
Chris Lattner [Thu, 26 Apr 2007 03:32:43 +0000 (03:32 +0000)]
improve a comment

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

17 years agomove some code around, fix a bug in the reader reading globalinits (which
Chris Lattner [Thu, 26 Apr 2007 03:27:58 +0000 (03:27 +0000)]
move some code around, fix a bug in the reader reading globalinits (which
I just introduced), stub out function reading, purge aggregate values from
the value table before reading functions.

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

17 years agoadd a new code
Chris Lattner [Thu, 26 Apr 2007 03:26:26 +0000 (03:26 +0000)]
add a new code

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

17 years agoadd bitcode alias support
Chris Lattner [Thu, 26 Apr 2007 02:46:40 +0000 (02:46 +0000)]
add bitcode alias support

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

17 years agoadd alias support to bitcode
Chris Lattner [Thu, 26 Apr 2007 02:46:23 +0000 (02:46 +0000)]
add alias support to bitcode

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

17 years agoprint aliases before functions
Chris Lattner [Thu, 26 Apr 2007 02:24:10 +0000 (02:24 +0000)]
print aliases before functions

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

17 years agoBe careful when to add implicit kill / dead operands. Don't add them during / post...
Evan Cheng [Thu, 26 Apr 2007 01:40:09 +0000 (01:40 +0000)]
Be careful when to add implicit kill / dead operands. Don't add them during / post reg-allocation.

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

17 years agoPR1348 test case.
Evan Cheng [Thu, 26 Apr 2007 01:14:14 +0000 (01:14 +0000)]
PR1348 test case.

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

17 years agoFix for PR1348. If stack inc / dec amount is > 32-bits, issue a series of add / sub...
Evan Cheng [Thu, 26 Apr 2007 01:09:28 +0000 (01:09 +0000)]
Fix for PR1348. If stack inc / dec amount is > 32-bits, issue a series of add / sub instructions.

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

17 years agoNew test case.
Evan Cheng [Thu, 26 Apr 2007 00:07:36 +0000 (00:07 +0000)]
New test case.

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

17 years agoQuiet a compiler warning about assignment in an if-then conditional.
Bill Wendling [Wed, 25 Apr 2007 23:52:02 +0000 (23:52 +0000)]
Quiet a compiler warning about assignment in an if-then conditional.

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

17 years ago&& no longer needed
Chris Lattner [Wed, 25 Apr 2007 22:32:55 +0000 (22:32 +0000)]
&& no longer needed

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

17 years agoMatch MachineFunction::UsedPhysRegs changes.
Evan Cheng [Wed, 25 Apr 2007 22:13:27 +0000 (22:13 +0000)]
Match MachineFunction::UsedPhysRegs changes.

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

17 years agoChange UsedPhysRegs from array bool to BitVector to save some space. Setting / gettin...
Evan Cheng [Wed, 25 Apr 2007 22:10:09 +0000 (22:10 +0000)]
Change UsedPhysRegs from array bool to BitVector to save some space. Setting / getting its states now go through MachineFunction.

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

17 years agoTestcase for codegen bug.
Bill Wendling [Wed, 25 Apr 2007 21:58:17 +0000 (21:58 +0000)]
Testcase for codegen bug.

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

17 years agoClean up.
Evan Cheng [Wed, 25 Apr 2007 21:34:08 +0000 (21:34 +0000)]
Clean up.

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

17 years agoAdd SSSE3 as a feature of Core2. Add MMX registers to the list of registers
Bill Wendling [Wed, 25 Apr 2007 21:31:48 +0000 (21:31 +0000)]
Add SSSE3 as a feature of Core2. Add MMX registers to the list of registers
clobbered by a call.

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

17 years agoData structure change to improve compile time (especially in debug mode).
Evan Cheng [Wed, 25 Apr 2007 19:34:00 +0000 (19:34 +0000)]
Data structure change to improve compile time (especially in debug mode).

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

17 years agoMem2Reg does not need TargetData.
Devang Patel [Wed, 25 Apr 2007 18:41:11 +0000 (18:41 +0000)]
Mem2Reg does not need TargetData.

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

17 years agoThis was lefted out. Fixed sumarray-dbl.
Evan Cheng [Wed, 25 Apr 2007 18:33:21 +0000 (18:33 +0000)]
This was lefted out. Fixed sumarray-dbl.

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

17 years agoMem2Reg does not need TargetData.
Devang Patel [Wed, 25 Apr 2007 18:32:35 +0000 (18:32 +0000)]
Mem2Reg does not need TargetData.

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

17 years agoAdd missed semicolon. Resotre compatibility with older bisons
Anton Korobeynikov [Wed, 25 Apr 2007 18:07:40 +0000 (18:07 +0000)]
Add missed semicolon. Resotre compatibility with older bisons

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

17 years agodo the multiplication as signed, so that 2*-2 == -4 instead of 4294967292
Chris Lattner [Wed, 25 Apr 2007 17:23:53 +0000 (17:23 +0000)]
do the multiplication as signed, so that 2*-2 == -4 instead of 4294967292
when promoted to 64-bits

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

17 years agoRemove unused function argument.
Devang Patel [Wed, 25 Apr 2007 17:15:20 +0000 (17:15 +0000)]
Remove unused function argument.

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

17 years agoNote new header file.
Jeff Cohen [Wed, 25 Apr 2007 17:13:18 +0000 (17:13 +0000)]
Note new header file.

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

17 years agoAdd missed file
Anton Korobeynikov [Wed, 25 Apr 2007 16:42:39 +0000 (16:42 +0000)]
Add missed file

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

17 years agoremember to emit weak reference in one more case.
Lauro Ramos Venancio [Wed, 25 Apr 2007 14:50:40 +0000 (14:50 +0000)]
remember to emit weak reference in one more case.

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

17 years agoRegenerate
Anton Korobeynikov [Wed, 25 Apr 2007 14:29:12 +0000 (14:29 +0000)]
Regenerate

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

17 years agoImplement aliases. This fixes PR1017 and it's dependent bugs. CFE part
Anton Korobeynikov [Wed, 25 Apr 2007 14:27:10 +0000 (14:27 +0000)]
Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
will follow.

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

17 years agoFix for PR1306.
Evan Cheng [Wed, 25 Apr 2007 07:30:23 +0000 (07:30 +0000)]
Fix for PR1306.
- A register def / use now implicitly affects sub-register liveness but does
not affect liveness information of super-registers.
- Def of a larger register (if followed by a use later) is treated as
read/mod/write of a smaller register.

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

17 years agoTest if a register is sub- or super-register of another.
Evan Cheng [Wed, 25 Apr 2007 07:24:50 +0000 (07:24 +0000)]
Test if a register is sub- or super-register of another.

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

17 years agoMinor speed tweak.
Evan Cheng [Wed, 25 Apr 2007 07:24:13 +0000 (07:24 +0000)]
Minor speed tweak.

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

17 years agoClean up.
Evan Cheng [Wed, 25 Apr 2007 07:18:20 +0000 (07:18 +0000)]
Clean up.

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

17 years agoRelex assertions to account for additional implicit def / use operands.
Evan Cheng [Wed, 25 Apr 2007 07:12:14 +0000 (07:12 +0000)]
Relex assertions to account for additional implicit def / use operands.

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

17 years agoIf an alloca only has two types of uses: 1) reads 2) a memcpy/memmove that
Chris Lattner [Wed, 25 Apr 2007 06:40:51 +0000 (06:40 +0000)]
If an alloca only has two types of uses: 1) reads 2) a memcpy/memmove that
copies from a constant global, then we can change the reads to read from the
global instead of from the alloca.  This eliminates the alloca and the memcpy,
and promotes secondary optimizations (because the loads are now loads from
a constant global).

This is important for a common C idiom:

void foo() {
   int A[] = {1,2,3,4,5,6,7,8,9...};
   ... only reads of A ...
}

For some reason, people forget to mark the array static or const.

This triggers on these multisource benchmarks:
JM/ldecode: block_pos, [3 x [4 x [4 x i32]]]
FreeBench/mason: m, [18 x i32], inlined 4 times
MiBench/office-stringsearch: search_strings, [1332 x i8*]
MiBench/office-stringsearch: find_strings, [1333 x i8*]
Prolangs-C++/city: dirs, [9 x i8*], inlined 4 places

and these spec benchmarks:
177.mesa: message, [8 x [32 x i8]]
186.crafty: bias_rl45, [64 x i32]
186.crafty: diag_sq, [64 x i32]
186.crafty: empty, [9 x i8]
186.crafty: xlate, [15 x i8]
186.crafty: status, [13 x i8]
186.crafty: bdinfo, [25 x i8]
445.gobmk: routines, [16 x i8*]
458.sjeng: piece_rep, [14 x i8*]
458.sjeng: t, [13 x i32], inlined 4 places.
464.h264ref: block8x8_idx, [3 x [4 x [4 x i32]]]
464.h264ref: block_pos, [3 x [4 x [4 x i32]]]
464.h264ref: j_off_tab, [12 x i32]

This implements Transforms/ScalarRepl/memcpy-from-global.ll

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

17 years agonew testcase, should be able to eliminate the alloca and memcpy
Chris Lattner [Wed, 25 Apr 2007 06:29:34 +0000 (06:29 +0000)]
new testcase, should be able to eliminate the alloca and memcpy

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

17 years agosimplify some code
Chris Lattner [Wed, 25 Apr 2007 05:49:09 +0000 (05:49 +0000)]
simplify some code

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

17 years agorefactor the SROA code out into its own method, no functionality change.
Chris Lattner [Wed, 25 Apr 2007 05:02:56 +0000 (05:02 +0000)]
refactor the SROA code out into its own method, no functionality change.

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

17 years agosupport for >4G stack frames
Chris Lattner [Wed, 25 Apr 2007 04:30:24 +0000 (04:30 +0000)]
support for >4G stack frames

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

17 years agosupport for >4G frames
Chris Lattner [Wed, 25 Apr 2007 04:29:06 +0000 (04:29 +0000)]
support for >4G frames

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

17 years agosupport >4G stack frames
Chris Lattner [Wed, 25 Apr 2007 04:25:10 +0000 (04:25 +0000)]
support >4G stack frames

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

17 years agosupport > 4G stack objects
Chris Lattner [Wed, 25 Apr 2007 04:20:54 +0000 (04:20 +0000)]
support > 4G stack objects

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

17 years agoUndo my previous changes. Since my approach to this problem is being revised,
Owen Anderson [Wed, 25 Apr 2007 04:18:54 +0000 (04:18 +0000)]
Undo my previous changes.  Since my approach to this problem is being revised,
this approach is no longer appropriate.

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

17 years agoallow support for 64-bit stack objects
Chris Lattner [Wed, 25 Apr 2007 04:08:28 +0000 (04:08 +0000)]
allow support for 64-bit stack objects

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

17 years agoallow 64-bit stack objects
Chris Lattner [Wed, 25 Apr 2007 04:07:31 +0000 (04:07 +0000)]
allow 64-bit stack objects

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

17 years agonew testcase
Chris Lattner [Wed, 25 Apr 2007 01:51:33 +0000 (01:51 +0000)]
new testcase

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

17 years agoFix
Devang Patel [Wed, 25 Apr 2007 00:37:04 +0000 (00:37 +0000)]
Fix
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070423/048376.html

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

17 years agoNew test.
Devang Patel [Wed, 25 Apr 2007 00:35:37 +0000 (00:35 +0000)]
New test.

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

17 years agotestcase for PR1352
Chris Lattner [Wed, 25 Apr 2007 00:26:05 +0000 (00:26 +0000)]
testcase for PR1352

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

17 years agofix typo
Dale Johannesen [Wed, 25 Apr 2007 00:14:49 +0000 (00:14 +0000)]
fix typo

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

17 years agoBe more careful about folding op(x, undef) when we have vector operands.
Chris Lattner [Wed, 25 Apr 2007 00:00:45 +0000 (00:00 +0000)]
Be more careful about folding op(x, undef) when we have vector operands.
This fixes CodeGen/X86/2007-04-24-VectorCrash.ll

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

17 years agonew testcase that crashes llc
Chris Lattner [Wed, 25 Apr 2007 00:00:12 +0000 (00:00 +0000)]
new testcase that crashes llc

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

17 years agoAdd me
Dale Johannesen [Tue, 24 Apr 2007 23:48:30 +0000 (23:48 +0000)]
Add me

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

17 years agoFix PR1351 and CodeGen/PowerPC/2007-04-24-InlineAsm-I-Modifier.ll
Chris Lattner [Tue, 24 Apr 2007 22:51:03 +0000 (22:51 +0000)]
Fix PR1351 and CodeGen/PowerPC/2007-04-24-InlineAsm-I-Modifier.ll

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

17 years agotestcase for PR1351
Chris Lattner [Tue, 24 Apr 2007 22:49:57 +0000 (22:49 +0000)]
testcase for PR1351

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

17 years agoTestcases for MMX.
Bill Wendling [Tue, 24 Apr 2007 22:28:30 +0000 (22:28 +0000)]
Testcases for MMX.

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

17 years agoUpdate.
Bill Wendling [Tue, 24 Apr 2007 21:20:03 +0000 (21:20 +0000)]
Update.

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

17 years agoAdd the PADDQ to the list.
Bill Wendling [Tue, 24 Apr 2007 21:19:14 +0000 (21:19 +0000)]
Add the PADDQ to the list.

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

17 years agoAdd the final MMX instructions. Correct a few wrong patterns.
Bill Wendling [Tue, 24 Apr 2007 21:18:37 +0000 (21:18 +0000)]
Add the final MMX instructions. Correct a few wrong patterns.

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

17 years agoRemove some invalid instructions from this check.
Bill Wendling [Tue, 24 Apr 2007 21:17:46 +0000 (21:17 +0000)]
Remove some invalid instructions from this check.

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

17 years agoSupport for the special case of a vector with the canonical form:
Bill Wendling [Tue, 24 Apr 2007 21:16:55 +0000 (21:16 +0000)]
Support for the special case of a vector with the canonical form:

        vector_shuffle v1, v2, <2, 6, 3, 7>

I.e.

         vector_shuffle v, undef, <2, 2, 3, 3>

MMX only has a shuffle for v4i16 vectors. It needs to use the unpackh for
this type of operation.

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

17 years agoAssertion when using a 1-element vector for an add operation. Get the
Bill Wendling [Tue, 24 Apr 2007 21:13:23 +0000 (21:13 +0000)]
Assertion when using a 1-element vector for an add operation. Get the
real vector type in this case.

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

17 years agoNew test.
Devang Patel [Tue, 24 Apr 2007 21:05:52 +0000 (21:05 +0000)]
New test.

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