oota-llvm.git
14 years agoAdded the Advanced Encryption Standard (AES) Instructions.
Kevin Enderby [Wed, 24 Mar 2010 22:33:33 +0000 (22:33 +0000)]
Added the Advanced Encryption Standard (AES) Instructions.

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

14 years agoMake the use of the vmla and vmls VFP instructions controllable via cmd line.
Jim Grosbach [Wed, 24 Mar 2010 22:31:46 +0000 (22:31 +0000)]
Make the use of the vmla and vmls VFP instructions controllable via cmd line.
Preliminary testing shows significant performance wins by not using these
instructions.

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

14 years agoFixed the SS42AI template for the SSE 4.2 instructions with TA prefix so it does
Kevin Enderby [Wed, 24 Mar 2010 22:28:42 +0000 (22:28 +0000)]
Fixed the SS42AI template for the SSE 4.2 instructions with TA prefix so it does
not get an "Unknown immediate size" assert failure when used.  All instructions
of this form have an 8-bit immediate.  Also added a test case of an example
instruction that is of this form.

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

14 years agoPer chris's request, add some comments.
Nate Begeman [Wed, 24 Mar 2010 22:19:06 +0000 (22:19 +0000)]
Per chris's request, add some comments.

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

14 years agoUse SP filename directly instead of SP's context's filename.
Devang Patel [Wed, 24 Mar 2010 21:30:35 +0000 (21:30 +0000)]
Use SP filename directly instead of SP's context's filename.

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

14 years agoTrivial formating change.
Johnny Chen [Wed, 24 Mar 2010 21:25:07 +0000 (21:25 +0000)]
Trivial formating change.

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

14 years agoBUILD_VECTOR was missing out on some prime opportunities to use SSE 4.1 inserts.
Nate Begeman [Wed, 24 Mar 2010 20:49:50 +0000 (20:49 +0000)]
BUILD_VECTOR was missing out on some prime opportunities to use SSE 4.1 inserts.

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

14 years agoRevert Edwin's change that is breaking MultiSource/Applications/ClamAV/clamscan.
Bob Wilson [Wed, 24 Mar 2010 20:25:25 +0000 (20:25 +0000)]
Revert Edwin's change that is breaking MultiSource/Applications/ClamAV/clamscan.
--- Reverse-merging r99400 into '.':
D    test/CodeGen/Generic/2010-03-24-liveintervalleak.ll
U    lib/CodeGen/LiveIntervalAnalysis.cpp

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

14 years agoMove OptChkCall off LibCallOptimization into StrCpyOpt.
Evan Cheng [Wed, 24 Mar 2010 20:19:04 +0000 (20:19 +0000)]
Move OptChkCall off LibCallOptimization into StrCpyOpt.

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

14 years agoTrim #includes.
Dan Gohman [Wed, 24 Mar 2010 19:56:17 +0000 (19:56 +0000)]
Trim #includes.

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

14 years agoReverted r99326 which added NVdVmVCVTFrm, and later renamed to NVCVTFrm.
Johnny Chen [Wed, 24 Mar 2010 19:47:14 +0000 (19:47 +0000)]
Reverted r99326 which added NVdVmVCVTFrm, and later renamed to NVCVTFrm.
NVCVTFrm will later be used to describe "vcvt with fractional bits".

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

14 years agoFix minor style issues.
Dan Gohman [Wed, 24 Mar 2010 19:38:02 +0000 (19:38 +0000)]
Fix minor style issues.

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

14 years agoIt's not necessary to call raw_ostream::close explicitly on automatic
Dan Gohman [Wed, 24 Mar 2010 19:00:02 +0000 (19:00 +0000)]
It's not necessary to call raw_ostream::close explicitly on automatic
raw_ostream variables immediately before they go out of scope.

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

14 years agoDo not rely on getCompileUnit() to find source file information for a subprogram.
Devang Patel [Wed, 24 Mar 2010 18:48:00 +0000 (18:48 +0000)]
Do not rely on getCompileUnit() to find source file information for a subprogram.

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

14 years agoReverted r99376. The disassembler will deal with the 2-reg format of these two
Johnny Chen [Wed, 24 Mar 2010 18:46:34 +0000 (18:46 +0000)]
Reverted r99376.  The disassembler will deal with the 2-reg format of these two
N3VX instructions using special case code.

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

14 years agotweak the arm if conversion heuristic
Jim Grosbach [Wed, 24 Mar 2010 16:15:14 +0000 (16:15 +0000)]
tweak the arm if conversion heuristic

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

14 years agoFix memory leak in liveintervals: the destructor for VNInfos must be called,
Torok Edwin [Wed, 24 Mar 2010 13:50:36 +0000 (13:50 +0000)]
Fix memory leak in liveintervals: the destructor for VNInfos must be called,
otherwise the SmallVector it contains doesn't free its memory.
In most cases LiveIntervalAnalysis could get away by not calling the destructor,
because VNInfos are bumpptr-allocated, and smallvectors usually don't grow.
However when the SmallVector does grow it always leaks.

This is the valgrind shown leak from the original testcase:
==8206== 18,304 bytes in 151 blocks are definitely lost in loss record 164 of 164
==8206==    at 0x4A079C7: operator new(unsigned long) (vg_replace_malloc.c:220)
==8206==    by 0x4DB7A7E: llvm::SmallVectorBase::grow_pod(unsigned long, unsigned long) (in /home/edwin/clam/git/builds/defaul
t/libclamav/.libs/libclamav.so.6.1.0)
==8206==    by 0x4F90382: llvm::VNInfo::addKill(llvm::SlotIndex) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libcl
amav.so.6.1.0)
==8206==    by 0x5126B5C: llvm::LiveIntervals::handleVirtualRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::M
achineInstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int, llvm::LiveInterval&) (in /home/edwin/clam/git/builds/defau
lt/libclamav/.libs/libclamav.so.6.1.0)
==8206==    by 0x512725E: llvm::LiveIntervals::handleRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineI
nstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav
.so.6.1.0)
==8206==    by 0x51278A8: llvm::LiveIntervals::computeIntervals() (in /home/edwin/clam/git/builds/default/libclamav/.libs/libc
lamav.so.6.1.0)
==8206==    by 0x5127CB4: llvm::LiveIntervals::runOnMachineFunction(llvm::MachineFunction&) (in /home/edwin/clam/git/builds/de
fault/libclamav/.libs/libclamav.so.6.1.0)
==8206==    by 0x4DAE935: llvm::FPPassManager::runOnFunction(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama
v/.libs/libclamav.so.6.1.0)
==8206==    by 0x4DAEB10: llvm::FunctionPassManagerImpl::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama
v/.libs/libclamav.so.6.1.0)
==8206==    by 0x4DAED3D: llvm::FunctionPassManager::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclamav/.l
ibs/libclamav.so.6.1.0)
==8206==    by 0x4D8BE8E: llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard const&) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0)
==8206==    by 0x4D8CA72: llvm::JIT::getPointerToFunction(llvm::Function*) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0)

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

14 years agoFinally land the InvokeInst operand reordering.
Gabor Greif [Wed, 24 Mar 2010 13:21:49 +0000 (13:21 +0000)]
Finally land the InvokeInst operand reordering.
I have audited all getOperandNo calls now, fixing
hidden assumptions. CallSite related uglyness will
be eliminated successively.

Note this patch has a long and griveous history,
for all the back-and-forths have a look at
CallSite.h's log.

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

14 years agotighten a type and remove trailing whitespace, no functional changes
Gabor Greif [Wed, 24 Mar 2010 11:58:07 +0000 (11:58 +0000)]
tighten a type and remove trailing whitespace, no functional changes

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

14 years agoincrease const goodness and remove pointless getUser() calls
Gabor Greif [Wed, 24 Mar 2010 10:29:52 +0000 (10:29 +0000)]
increase const goodness and remove pointless getUser() calls

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

14 years agocache result of UI.getOperandNo() instead of calling it twice, it is cheaper this way
Gabor Greif [Wed, 24 Mar 2010 10:12:54 +0000 (10:12 +0000)]
cache result of UI.getOperandNo() instead of calling it twice, it is cheaper this way

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

14 years agoFix comment typo.
Duncan Sands [Wed, 24 Mar 2010 09:05:14 +0000 (09:05 +0000)]
Fix comment typo.

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

14 years agoMC: Direct all {fragment,section,symbol} address access through the MCAsmLayout object.
Daniel Dunbar [Wed, 24 Mar 2010 03:43:40 +0000 (03:43 +0000)]
MC: Direct all {fragment,section,symbol} address access through the MCAsmLayout object.

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

14 years agodbg_value may end a block.
Evan Cheng [Wed, 24 Mar 2010 01:50:28 +0000 (01:50 +0000)]
dbg_value may end a block.

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

14 years agoMark VMOVDneon and VMOVQ as having the N2RegFrm form to help the disassembler.
Johnny Chen [Wed, 24 Mar 2010 01:29:25 +0000 (01:29 +0000)]
Mark VMOVDneon and VMOVQ as having the N2RegFrm form to help the disassembler.

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

14 years agoSwitch INC8r to defining its pattern in terms of X86inc_flag
Chris Lattner [Wed, 24 Mar 2010 01:02:12 +0000 (01:02 +0000)]
Switch INC8r to defining its pattern in terms of X86inc_flag
and defining the add pattern with Pat<>, eliminating a use of
parallel.

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

14 years agoRenamed NVdVmImmFrm and NVdVmVCVTFrm to the more proper N2RegFrm and NVCVTFrm,
Johnny Chen [Wed, 24 Mar 2010 00:57:50 +0000 (00:57 +0000)]
Renamed NVdVmImmFrm and NVdVmVCVTFrm to the more proper N2RegFrm and NVCVTFrm,
respectively, and add some more comment.

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

14 years agoRemove the ConvertActions table and associated code, which is unused.
Dan Gohman [Wed, 24 Mar 2010 00:53:38 +0000 (00:53 +0000)]
Remove the ConvertActions table and associated code, which is unused.

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

14 years agoAdd a method to get a StringMapEntry from a pointer to the string
Chris Lattner [Wed, 24 Mar 2010 00:53:27 +0000 (00:53 +0000)]
Add a method to get a StringMapEntry from a pointer to the string
data it contains (similar to GetStringMapEntryFromValue).
Patch by Greg Clayton!

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

14 years agoswitch SDTBinaryArithWithFlags to be a multiple-result node as well.
Chris Lattner [Wed, 24 Mar 2010 00:49:29 +0000 (00:49 +0000)]
switch SDTBinaryArithWithFlags to be a multiple-result node as well.

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

14 years agoSwitch SDTUnaryArithWithFlags to being modeled as a two-result
Chris Lattner [Wed, 24 Mar 2010 00:47:47 +0000 (00:47 +0000)]
Switch SDTUnaryArithWithFlags to being modeled as a two-result
ISD node.  The only change in the generated isel code are comments
like:

<                 // Src: (X86dec_flag:i16 GR16:i16:$src)
---
>                 // Src: (X86dec_flag:i16:i32 GR16:i16:$src)

because now it knows that X86dec_flag returns both an i16 (for the result)
and an i32 (for EFLAGS) in this case.  Wewt.

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

14 years agoadd plumbing for handling multiple result nodes
Chris Lattner [Wed, 24 Mar 2010 00:41:19 +0000 (00:41 +0000)]
add plumbing for handling multiple result nodes
in some more places.

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

14 years agoFix coding style.
Dan Gohman [Wed, 24 Mar 2010 00:27:49 +0000 (00:27 +0000)]
Fix coding style.

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

14 years agoGeneralize findNearestCommonDominator to work on post-dominators,
Dan Gohman [Wed, 24 Mar 2010 00:22:24 +0000 (00:22 +0000)]
Generalize findNearestCommonDominator to work on post-dominators,
based on a suggestion by Jochen Wilhelmy.

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

14 years agoremove 64-bit or_is_add parallels.
Chris Lattner [Wed, 24 Mar 2010 00:16:52 +0000 (00:16 +0000)]
remove 64-bit or_is_add parallels.

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

14 years agoremove useless or_is_add parallel's.
Chris Lattner [Wed, 24 Mar 2010 00:15:23 +0000 (00:15 +0000)]
remove useless or_is_add parallel's.

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

14 years agoreduce nesting.
Chris Lattner [Wed, 24 Mar 2010 00:12:57 +0000 (00:12 +0000)]
reduce nesting.

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

14 years agoimplement SDTCisVTSmallerThanOp with EnforceSmallerThan
Chris Lattner [Wed, 24 Mar 2010 00:06:46 +0000 (00:06 +0000)]
implement SDTCisVTSmallerThanOp with EnforceSmallerThan
instead of reimplementing it wrong and poorly.

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

14 years agotry being more permissive for if-conversion on ARM V7. see what the nightly
Jim Grosbach [Wed, 24 Mar 2010 00:03:13 +0000 (00:03 +0000)]
try being more permissive for if-conversion on ARM V7. see what the nightly
test run permformance numbers say as to whether it helps.

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

14 years agobring sanity to EnforceVectorEltType
Chris Lattner [Wed, 24 Mar 2010 00:01:16 +0000 (00:01 +0000)]
bring sanity to EnforceVectorEltType

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

14 years agoCleanup getImplicitType
Chris Lattner [Tue, 23 Mar 2010 23:50:31 +0000 (23:50 +0000)]
Cleanup getImplicitType

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

14 years agoRevert "Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain...
Jakob Stoklund Olesen [Tue, 23 Mar 2010 23:48:51 +0000 (23:48 +0000)]
Revert "Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings."

This reverts commit 99345. It was breaking buildbots.

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

14 years agoMC: Sprinkle in some more interesting statistics.
Daniel Dunbar [Tue, 23 Mar 2010 23:47:14 +0000 (23:47 +0000)]
MC: Sprinkle in some more interesting statistics.

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

14 years agollvm-mc: Support -filetype=null, for timing purposes.
Daniel Dunbar [Tue, 23 Mar 2010 23:47:12 +0000 (23:47 +0000)]
llvm-mc: Support -filetype=null, for timing purposes.

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

14 years agollvm-mc: Fast path EvaluateAbsolute of constants.
Daniel Dunbar [Tue, 23 Mar 2010 23:47:07 +0000 (23:47 +0000)]
llvm-mc: Fast path EvaluateAbsolute of constants.

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

14 years agoreject void in intrinsic type lists.
Chris Lattner [Tue, 23 Mar 2010 23:46:27 +0000 (23:46 +0000)]
reject void in intrinsic type lists.

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

14 years ago[llvm_void_ty] is no longer needed for result types,
Chris Lattner [Tue, 23 Mar 2010 23:46:07 +0000 (23:46 +0000)]
[llvm_void_ty] is no longer needed for result types,
just use an empty result list.

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

14 years agoAdd a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.
Jakob Stoklund Olesen [Tue, 23 Mar 2010 23:14:44 +0000 (23:14 +0000)]
Add a late SSEDomainFix pass that twiddles SSE instructions to avoid domain crossings.

This is work in progress. So far, SSE execution domain tables are added to
X86InstrInfo, and a skeleton pass is enabled with -sse-domain-fix.

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

14 years agoRenamed NVdImmFrm to N1RegModImmFrm.
Johnny Chen [Tue, 23 Mar 2010 23:09:14 +0000 (23:09 +0000)]
Renamed NVdImmFrm to N1RegModImmFrm.

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

14 years agoRemove if DISABLED not if not DISABLED...
Bill Wendling [Tue, 23 Mar 2010 23:09:03 +0000 (23:09 +0000)]
Remove if DISABLED not if not DISABLED...

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

14 years agoadd some accessors to callsite/callinst/invokeinst to check
Chris Lattner [Tue, 23 Mar 2010 22:59:07 +0000 (22:59 +0000)]
add some accessors to callsite/callinst/invokeinst to check
for the noinline attribute, and make the inliner refuse to
inline a call site when the call site is marked noinline even
if the callee isn't.  This fixes PR6682.

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

14 years agoRevert 99335. getTypeToExpandTo's iterative behavior is actually
Dan Gohman [Tue, 23 Mar 2010 22:44:42 +0000 (22:44 +0000)]
Revert 99335. getTypeToExpandTo's iterative behavior is actually
needed here.

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

14 years agoUse "DISABLE_EDIS" to disable building "edis" explicitly. Don't build it for
Bill Wendling [Tue, 23 Mar 2010 22:15:33 +0000 (22:15 +0000)]
Use "DISABLE_EDIS" to disable building "edis" explicitly. Don't build it for
Apple-style builds.

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

14 years agoRemove getTypeToExpandTo, since it isn't adding much value
Dan Gohman [Tue, 23 Mar 2010 22:15:31 +0000 (22:15 +0000)]
Remove getTypeToExpandTo, since it isn't adding much value
beyond just calling getTypeToTransformTo.

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

14 years agomake sure to delete the llvm module before calling llvm_shutdown,
Chris Lattner [Tue, 23 Mar 2010 21:59:43 +0000 (21:59 +0000)]
make sure to delete the llvm module before calling llvm_shutdown,
this fixes crashes in error cases, PR6683

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

14 years agoDon't back past debug info intrinsics; SCEVExpander's strategy
Dan Gohman [Tue, 23 Mar 2010 21:53:22 +0000 (21:53 +0000)]
Don't back past debug info intrinsics; SCEVExpander's strategy
for ignoring debug info intrinsics everywhere else is to advance
past them, and it needs to be consistent.

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

14 years agofix an infinite loop in Module::getEndianness, PR6684
Chris Lattner [Tue, 23 Mar 2010 21:48:41 +0000 (21:48 +0000)]
fix an infinite loop in Module::getEndianness, PR6684
patch by Alex Mac!

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

14 years agoFix typo in the comment for N3VX class.
Johnny Chen [Tue, 23 Mar 2010 21:35:03 +0000 (21:35 +0000)]
Fix typo in the comment for N3VX class.

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

14 years agoAdd comment.
Johnny Chen [Tue, 23 Mar 2010 21:30:12 +0000 (21:30 +0000)]
Add comment.

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

14 years agoAdd New NEON Format NVdVmVCVTFrm.
Johnny Chen [Tue, 23 Mar 2010 21:25:38 +0000 (21:25 +0000)]
Add New NEON Format NVdVmVCVTFrm.
Converted some of the NEON vcvt instructions to this format.

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

14 years agoSkip debugging intrinsics when sinking unused invariants.
Bill Wendling [Tue, 23 Mar 2010 21:15:59 +0000 (21:15 +0000)]
Skip debugging intrinsics when sinking unused invariants.

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

14 years agoAdd New NEON Format NVdVmImmFrm.
Johnny Chen [Tue, 23 Mar 2010 20:40:44 +0000 (20:40 +0000)]
Add New NEON Format NVdVmImmFrm.

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

14 years agoIgnore dbg_value's.
Evan Cheng [Tue, 23 Mar 2010 20:36:12 +0000 (20:36 +0000)]
Ignore dbg_value's.

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

14 years agoTeach isSafeToClobberEFLAGS to ignore dbg_value's. We need a MachineBasicBlock::itera...
Evan Cheng [Tue, 23 Mar 2010 20:35:45 +0000 (20:35 +0000)]
Teach isSafeToClobberEFLAGS to ignore dbg_value's. We need a MachineBasicBlock::iterator that does this automatically?

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

14 years agoCode clean up.
Evan Cheng [Tue, 23 Mar 2010 20:33:48 +0000 (20:33 +0000)]
Code clean up.

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

14 years agoFix VLDMQ and VSTMQ instructions to use the correct encoding and address modes.
Bob Wilson [Tue, 23 Mar 2010 18:54:46 +0000 (18:54 +0000)]
Fix VLDMQ and VSTMQ instructions to use the correct encoding and address modes.
These instructions are only needed for codegen, so I've removed all the
explicit encoding bits for now; they should be set in the same way as the for
VLDMD and VSTMD whenever we add encodings for VFP.  The use of addrmode5
requires that the instructions be custom-selected so that the number of
registers can be set in the AM5Opc value.

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

14 years agoTest case for llvm-gcc r99305. Radar 7659636.
Stuart Hastings [Tue, 23 Mar 2010 18:39:23 +0000 (18:39 +0000)]
Test case for llvm-gcc r99305.  Radar 7659636.

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

14 years agoFix bad indentation, 80-column violations, and trailing whitespace.
Bob Wilson [Tue, 23 Mar 2010 17:23:59 +0000 (17:23 +0000)]
Fix bad indentation, 80-column violations, and trailing whitespace.

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

14 years agoAdd New NEON Format NVdImmFrm.
Johnny Chen [Tue, 23 Mar 2010 16:43:47 +0000 (16:43 +0000)]
Add New NEON Format NVdImmFrm.
Ref: A7.4.6 One register and a modified immediate value.

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

14 years agoAdd comment.
Evan Cheng [Tue, 23 Mar 2010 15:50:49 +0000 (15:50 +0000)]
Add comment.

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

14 years agoForgot this.
Evan Cheng [Tue, 23 Mar 2010 15:49:37 +0000 (15:49 +0000)]
Forgot this.

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

14 years agoTeach simplify libcall to transform __strcpy_chk to __memcpy_chk to enable optimizati...
Evan Cheng [Tue, 23 Mar 2010 15:48:04 +0000 (15:48 +0000)]
Teach simplify libcall to transform __strcpy_chk to __memcpy_chk to enable optimizations down stream.

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

14 years agoadd assert in argpromotion, which cannot trigger
Gabor Greif [Tue, 23 Mar 2010 14:40:20 +0000 (14:40 +0000)]
add assert in argpromotion, which cannot trigger
if Function::hasAddressTaken works as advertised

also included some cosmetic cleanups

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

14 years agoword-o
Gabor Greif [Tue, 23 Mar 2010 13:45:54 +0000 (13:45 +0000)]
word-o

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

14 years agoRename some instructions to match the corresponding NEON opcode.
Bob Wilson [Tue, 23 Mar 2010 06:26:18 +0000 (06:26 +0000)]
Rename some instructions to match the corresponding NEON opcode.

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

14 years agoChange VST1 instructions for loading Q register values to operate on pairs
Bob Wilson [Tue, 23 Mar 2010 06:20:33 +0000 (06:20 +0000)]
Change VST1 instructions for loading Q register values to operate on pairs
of D registers.  Add a separate VST1q instruction with a Q register
source operand for use by storeRegToStackSlot.

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

14 years agoFix an incorrect logic causing instcombine to miss some _chk -> non-chk transformations.
Evan Cheng [Tue, 23 Mar 2010 06:06:09 +0000 (06:06 +0000)]
Fix an incorrect logic causing instcombine to miss some _chk -> non-chk transformations.

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

14 years agoChange VLD1 instructions for loading Q register values to operate on pairs
Bob Wilson [Tue, 23 Mar 2010 05:25:43 +0000 (05:25 +0000)]
Change VLD1 instructions for loading Q register values to operate on pairs
of D registers.  Add a separate VLD1q instruction with a Q register
destination operand for use by loadRegFromStackSlot.

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

14 years agoMC: Switch to using MCInst fragments to do relaxation.
Daniel Dunbar [Tue, 23 Mar 2010 05:09:03 +0000 (05:09 +0000)]
MC: Switch to using MCInst fragments to do relaxation.

Also, both MCMachOStreamer and MCAssembler are now target independent!

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

14 years agoMC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instru...
Daniel Dunbar [Tue, 23 Mar 2010 03:13:05 +0000 (03:13 +0000)]
MC: Add TargetAsmBackend::MayNeedRelaxation, for checking whether a particular instruction + fixups might need relaxation.

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

14 years agoMC: Add TargetAsmBackend::WriteNopData and use to eliminate some target dependencies...
Daniel Dunbar [Tue, 23 Mar 2010 02:36:58 +0000 (02:36 +0000)]
MC: Add TargetAsmBackend::WriteNopData and use to eliminate some target dependencies in MCMachOStreamer and MCAssembler.

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

14 years agoMC: Add TargetAsmBackend::RelaxInstruction callback, and custom X86 implementation.
Daniel Dunbar [Tue, 23 Mar 2010 01:39:09 +0000 (01:39 +0000)]
MC: Add TargetAsmBackend::RelaxInstruction callback, and custom X86 implementation.

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

14 years agoMC: Tweak MCInstFragment to include the encoded data and fixups, so that we don't...
Daniel Dunbar [Tue, 23 Mar 2010 01:39:05 +0000 (01:39 +0000)]
MC: Tweak MCInstFragment to include the encoded data and fixups, so that we don't need to recompute them during relaxation. I will revisit this once all the other pieces of fast relaxation are in place.

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

14 years agoPut MCSectionCOFF::Name into the MCContext instead of leaking it.
Jeffrey Yasskin [Mon, 22 Mar 2010 23:26:12 +0000 (23:26 +0000)]
Put MCSectionCOFF::Name into the MCContext instead of leaking it.

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

14 years agoMC: Add MCInstFragment, not used yet.
Daniel Dunbar [Mon, 22 Mar 2010 23:16:48 +0000 (23:16 +0000)]
MC: Add MCInstFragment, not used yet.

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

14 years agoAdd a FIXME.
Daniel Dunbar [Mon, 22 Mar 2010 23:16:43 +0000 (23:16 +0000)]
Add a FIXME.

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

14 years agoFix PR6673: updating the callback should not clear the map.
Chris Lattner [Mon, 22 Mar 2010 23:15:57 +0000 (23:15 +0000)]
Fix PR6673: updating the callback should not clear the map.

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

14 years agoEmit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.
Devang Patel [Mon, 22 Mar 2010 23:11:36 +0000 (23:11 +0000)]
Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.

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

14 years agoFix 80 col violation.
Evan Cheng [Mon, 22 Mar 2010 22:44:31 +0000 (22:44 +0000)]
Fix 80 col violation.

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

14 years agoDW_AT_stmt_list attribute attached with a compile unit encodes offset of line number...
Devang Patel [Mon, 22 Mar 2010 22:38:48 +0000 (22:38 +0000)]
DW_AT_stmt_list attribute attached with a compile unit encodes offset of line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file.

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

14 years agoMC: Fix a few more cases we were passing an MCDataFragment when a MCFragment would...
Daniel Dunbar [Mon, 22 Mar 2010 21:49:41 +0000 (21:49 +0000)]
MC: Fix a few more cases we were passing an MCDataFragment when a MCFragment would do, and sprinkle in some const.

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

14 years agoSimplify.
Daniel Dunbar [Mon, 22 Mar 2010 21:49:38 +0000 (21:49 +0000)]
Simplify.

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

14 years agoMCInst: Add ::dump_pretty.
Daniel Dunbar [Mon, 22 Mar 2010 21:49:34 +0000 (21:49 +0000)]
MCInst: Add ::dump_pretty.

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

14 years agoReduce indentation.
Evan Cheng [Mon, 22 Mar 2010 21:24:33 +0000 (21:24 +0000)]
Reduce indentation.

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

14 years agoChange intrinsic result type for void to store it as an empty list
Chris Lattner [Mon, 22 Mar 2010 20:56:36 +0000 (20:56 +0000)]
Change intrinsic result type for void to store it as an empty list
instead of as a single element list with VoidTy.  Now with a fix
for the verifier.

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

14 years agoMC: Change MCObjectWriter::RecordRelocation to take an MCFragment (instead of a MCDat...
Daniel Dunbar [Mon, 22 Mar 2010 20:35:50 +0000 (20:35 +0000)]
MC: Change MCObjectWriter::RecordRelocation to take an MCFragment (instead of a MCDataFragment). Object files should only need the generic MCFragment features.

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

14 years agoMC/Mach-O: Factor out getOrCreateDataFragment().
Daniel Dunbar [Mon, 22 Mar 2010 20:35:46 +0000 (20:35 +0000)]
MC/Mach-O: Factor out getOrCreateDataFragment().

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

14 years agoMC: Eliminate MCFragment::getMaxFileSize.
Daniel Dunbar [Mon, 22 Mar 2010 20:35:43 +0000 (20:35 +0000)]
MC: Eliminate MCFragment::getMaxFileSize.

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

14 years agoMC: Share the MCAsmLayout object, although its still not used for anything important.
Daniel Dunbar [Mon, 22 Mar 2010 20:35:35 +0000 (20:35 +0000)]
MC: Share the MCAsmLayout object, although its still not used for anything important.

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

14 years agoRename one more NEON instruction that I missed earlier.
Bob Wilson [Mon, 22 Mar 2010 20:31:39 +0000 (20:31 +0000)]
Rename one more NEON instruction that I missed earlier.

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