oota-llvm.git
14 years agoThe flag "--dot-cfg-only" is at the moment equivalent to the flag "--dot-cfg".
Duncan Sands [Sat, 19 Sep 2009 11:25:44 +0000 (11:25 +0000)]
The flag "--dot-cfg-only" is at the moment equivalent to the flag "--dot-cfg".
It prints the content of all bbs, instead of printing empty bbs to make the
CFG more readable.  Fix this.  Patch by Tobias Grosser.

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

14 years agoFix funky comments.
Evan Cheng [Sat, 19 Sep 2009 10:09:15 +0000 (10:09 +0000)]
Fix funky comments.

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

14 years agoUpdate comments.
Evan Cheng [Sat, 19 Sep 2009 10:08:51 +0000 (10:08 +0000)]
Update comments.

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

14 years agoTry to speed up the slowest parts of the CommandLine library
Benjamin Kramer [Sat, 19 Sep 2009 10:01:45 +0000 (10:01 +0000)]
Try to speed up the slowest parts of the CommandLine library

- Replace std::map<std::string with StringMap
- Eliminate unnecessary std::string copies
- ~10% speed-up for clang's testsuite on my machine (debug build)

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

14 years agoFix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks...
Evan Cheng [Sat, 19 Sep 2009 09:51:03 +0000 (09:51 +0000)]
Fix PR4926. When target hook EmitInstrWithCustomInserter() insert new basic blocks and update CFG, it should also inform sdisel of the changes so the phi source operands will come from the right basic blocks.

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

14 years agoEnhance transform passes so that they apply the same tranforms to malloc calls as...
Victor Hernandez [Fri, 18 Sep 2009 22:35:49 +0000 (22:35 +0000)]
Enhance transform passes so that they apply the same tranforms to malloc calls as to MallocInst.

Reviewed by Dan Gohman.

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

14 years agoremove an extraneous mem2reg pass early in the pipe. Since
Chris Lattner [Fri, 18 Sep 2009 22:03:29 +0000 (22:03 +0000)]
remove an extraneous mem2reg pass early in the pipe.  Since
this is run after the 'standard function passes', SRoA was
recently run.  This saves a domfrontier construction. Thanks
to Eli for noticing this.

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

14 years agoreduce indentation by using an early exit, and add a comment,
Chris Lattner [Fri, 18 Sep 2009 22:01:30 +0000 (22:01 +0000)]
reduce indentation by using an early exit, and add a comment,
no functionality change.

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

14 years agoFix a comment typo and some whitespace.
Bob Wilson [Fri, 18 Sep 2009 21:43:11 +0000 (21:43 +0000)]
Fix a comment typo and some whitespace.

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

14 years agoFix a typo in an assertion message.
Bob Wilson [Fri, 18 Sep 2009 21:42:44 +0000 (21:42 +0000)]
Fix a typo in an assertion message.

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

14 years agoFactor out label difference creation.
Bill Wendling [Fri, 18 Sep 2009 21:37:56 +0000 (21:37 +0000)]
Factor out label difference creation.

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

14 years agoEnhance analysis passes so that they apply the same analysis to malloc calls as to...
Victor Hernandez [Fri, 18 Sep 2009 21:34:51 +0000 (21:34 +0000)]
Enhance analysis passes so that they apply the same analysis to malloc calls as to MallocInst.

Reviewed by Eli Friedman.

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

14 years agoDelete the label names from this test to make it less fragile.
Dan Gohman [Fri, 18 Sep 2009 21:23:12 +0000 (21:23 +0000)]
Delete the label names from this test to make it less fragile.

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

14 years agoIt's inefficient to have place the exception tables (which contain the LSDA)
Bill Wendling [Fri, 18 Sep 2009 21:14:36 +0000 (21:14 +0000)]
It's inefficient to have place the exception tables (which contain the LSDA)
into the __DATA section. At launch time, dyld has to update most of the section
to fix up the type info pointers. It's better to place it into the __TEXT
section and use pc-rel indirect pointer encodings. Similar to the personality
routine.

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

14 years agoEnhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel...
Evan Cheng [Fri, 18 Sep 2009 21:02:19 +0000 (21:02 +0000)]
Enhance EmitInstrWithCustomInserter() so target can specify CFG changes that sdisel will use to properly complete phi nodes.
Not functionality change yet.

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

14 years agoFix cmake build, which has a different -I that
Shantonu Sen [Fri, 18 Sep 2009 20:35:59 +0000 (20:35 +0000)]
Fix cmake build, which has a different -I that
causes the "../foo" to not find the file

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

14 years agoMake a new X8632_MachoTargetObjectFile TLOF implementation whose
Chris Lattner [Fri, 18 Sep 2009 20:22:52 +0000 (20:22 +0000)]
Make a new X8632_MachoTargetObjectFile TLOF implementation whose
getSymbolForDwarfGlobalReference is smart enough to know that it
needs to register the stub it references with MachineModuleInfoMachO,
so that it gets emitted at the end of the file.

Move stub emission from X86ATTAsmPrinter::doFinalization to the
new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook.  The important
thing here is that EmitEndOfAsmFile is called *after* the ehframes are
emitted, so we get all the stubs.

This allows us to remove a gross hack from the asmprinter where it would
"just know" that it needed to output stubs for personality functions.
Now this is all driven from a consistent interface.

The testcase change is just reordering the expected output now that the
stubs come out after the ehframe instead of before.

This also unblocks other changes that Bill wants to make.

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

14 years agoadd a new hook to allow targets to splat stuff at the end of the file.
Chris Lattner [Fri, 18 Sep 2009 20:17:03 +0000 (20:17 +0000)]
add a new hook to allow targets to splat stuff at the end of the file.
Overriding doFinalization is pretty lame.

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

14 years agoModel the carry bit on ppc32. Without this we could
Dale Johannesen [Fri, 18 Sep 2009 20:15:22 +0000 (20:15 +0000)]
Model the carry bit on ppc32.  Without this we could
move a SUBFC (etc.) below the SUBFE (etc.) that consumed
the carry bit.  Add missing ADDIC8, noticed along the way.

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

14 years agoAdd support for using the FLAGS result of or, xor, and and instructions
Dan Gohman [Fri, 18 Sep 2009 19:59:53 +0000 (19:59 +0000)]
Add support for using the FLAGS result of or, xor, and and instructions
on x86, to avoid explicit test instructions. A few existing tests changed
due to arbitrary register allocation differences.

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

14 years agoAdded RCL and RCR (rotate left and right with a
Sean Callanan [Fri, 18 Sep 2009 19:35:23 +0000 (19:35 +0000)]
Added RCL and RCR (rotate left and right with a
carry bit) instructions to the Intel instruction
tables.

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

14 years agoWrite and read metadata attachments.
Devang Patel [Fri, 18 Sep 2009 19:26:43 +0000 (19:26 +0000)]
Write and read metadata attachments.

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

14 years agoUpdate malloc call creation code (AllocType is now the element type of the malloc...
Victor Hernandez [Fri, 18 Sep 2009 19:20:02 +0000 (19:20 +0000)]
Update malloc call creation code (AllocType is now the element type of the malloc, not the resulting type).

In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants.

Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array.

Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type.

Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls.

Add verification for malloc calls.

Reviewed by Dan Gohman.

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

14 years agoduncan points out the EH selector values are signed.
Chris Lattner [Fri, 18 Sep 2009 18:34:29 +0000 (18:34 +0000)]
duncan points out the EH selector values are signed.

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

14 years agoconvert some stuff to StringRef to avoid temporary std::strings.
Chris Lattner [Fri, 18 Sep 2009 18:31:37 +0000 (18:31 +0000)]
convert some stuff to StringRef to avoid temporary std::strings.

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

14 years agoadd a comment.
Chris Lattner [Fri, 18 Sep 2009 18:10:19 +0000 (18:10 +0000)]
add a comment.

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

14 years agoThis file can need access to the X86 instruction enums when the table exceeds 32...
Chris Lattner [Fri, 18 Sep 2009 18:08:55 +0000 (18:08 +0000)]
This file can need access to the X86 instruction enums when the table exceeds 32-bits.

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

14 years agoFix a few more conversion warnings on 4.0
Daniel Dunbar [Fri, 18 Sep 2009 17:48:05 +0000 (17:48 +0000)]
Fix a few more conversion warnings on 4.0

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

14 years agoUpdate to latest versions of config.guess and config.sub from
Mike Stump [Fri, 18 Sep 2009 17:10:27 +0000 (17:10 +0000)]
Update to latest versions of config.guess and config.sub from
http://savannah.gnu.org/projects/config

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

14 years agoAllow symbols to start from the digit if target requests it. This allows, e.g. pinning
Anton Korobeynikov [Fri, 18 Sep 2009 16:57:42 +0000 (16:57 +0000)]
Allow symbols to start from the digit if target requests it. This allows, e.g. pinning
variables to specified absolute address. Make use of this feature for MSP430.
This unbreaks PR4776.

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

14 years agoStop using alloca.
Nick Lewycky [Fri, 18 Sep 2009 16:46:16 +0000 (16:46 +0000)]
Stop using alloca.

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

14 years agoRevert r82214 completely to fix build.
Xerxes Ranby [Fri, 18 Sep 2009 09:50:00 +0000 (09:50 +0000)]
Revert r82214 completely to fix build.

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

14 years agoRevert r82214. It broke 403.gcc on x86_64 / Darwin.
Evan Cheng [Fri, 18 Sep 2009 08:26:06 +0000 (08:26 +0000)]
Revert r82214. It broke 403.gcc on x86_64 / Darwin.

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

14 years agoFix a bug in sdisel switch lowering code. When it updates the phi nodes in switch...
Evan Cheng [Fri, 18 Sep 2009 08:16:04 +0000 (08:16 +0000)]
Fix a bug in sdisel switch lowering code. When it updates the phi nodes in switch successor blocks, it can introduce multiple phi operands of the same value from different blocks (and may not be on the predecessor list).

This can be seen on CodeGen/Generic/2006-09-06-SwitchLowering.ll. But it's not known to cause any real regression (but I have added an assertion for it now).

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

14 years agoAdd newlines.
Nick Lewycky [Fri, 18 Sep 2009 07:36:47 +0000 (07:36 +0000)]
Add newlines.

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

14 years agomake this testcase check darwin32 also
Chris Lattner [Thu, 17 Sep 2009 23:56:41 +0000 (23:56 +0000)]
make this testcase check darwin32 also

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

14 years agorename test
Chris Lattner [Thu, 17 Sep 2009 23:55:12 +0000 (23:55 +0000)]
rename test

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

14 years agotolerate llvm.eh.selector.i64 on 32-bit systems and llvm.eh.selector.i32 on
Chris Lattner [Thu, 17 Sep 2009 23:54:54 +0000 (23:54 +0000)]
tolerate llvm.eh.selector.i64 on 32-bit systems and llvm.eh.selector.i32 on
64-bit systems.

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

14 years agoconvert to filecheck
Chris Lattner [Thu, 17 Sep 2009 23:54:26 +0000 (23:54 +0000)]
convert to filecheck

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

14 years agorename file
Chris Lattner [Thu, 17 Sep 2009 23:42:06 +0000 (23:42 +0000)]
rename file

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

14 years agoUse __attribute__((__used__)) if GCC >= 3.1 (seems to be the oldest GCC
Julien Lerouge [Thu, 17 Sep 2009 23:27:10 +0000 (23:27 +0000)]
Use __attribute__((__used__)) if GCC >= 3.1 (seems to be the oldest GCC
supporting this attribute).

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

14 years agoA testcase!
Devang Patel [Thu, 17 Sep 2009 23:05:07 +0000 (23:05 +0000)]
A testcase!

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

14 years agoFix parsing of optional metadata for 'load', 'store' and 'alloc' instructions.
Devang Patel [Thu, 17 Sep 2009 23:04:48 +0000 (23:04 +0000)]
Fix parsing of optional metadata for 'load', 'store' and 'alloc' instructions.

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

14 years agoFix a few places where PointerIntPair was using PointerLikeTypeTraits<PointerTy>
John McCall [Thu, 17 Sep 2009 20:35:18 +0000 (20:35 +0000)]
Fix a few places where PointerIntPair was using PointerLikeTypeTraits<PointerTy>
instead of the PtrTraits provided.  Allows PointerIntPair to contain a
PointerUnion safely, as long as the bits add up.

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

14 years agoAdd an svn:ignore.
Dan Gohman [Thu, 17 Sep 2009 20:12:05 +0000 (20:12 +0000)]
Add an svn:ignore.

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

14 years agopass machinemoduleinfo down into getSymbolForDwarfGlobalReference,
Chris Lattner [Thu, 17 Sep 2009 18:49:52 +0000 (18:49 +0000)]
pass machinemoduleinfo down into getSymbolForDwarfGlobalReference,
currently unused.

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

14 years agoTeach ScalarEvolution how to reason about no-wrap flags on loops
Dan Gohman [Thu, 17 Sep 2009 18:05:20 +0000 (18:05 +0000)]
Teach ScalarEvolution how to reason about no-wrap flags on loops
where the induction variable has a non-unit stride, such as {0,+,2}, and
there are expressions such as {1,+,2} inside the loop formed with
or or add nsw operators.

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

14 years agogrammar
Jim Grosbach [Thu, 17 Sep 2009 17:57:26 +0000 (17:57 +0000)]
grammar

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

14 years agogrammar
Jim Grosbach [Thu, 17 Sep 2009 17:55:55 +0000 (17:55 +0000)]
grammar

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

14 years agoAnother try at fixing compile warnings on 4.0
Daniel Dunbar [Thu, 17 Sep 2009 17:46:53 +0000 (17:46 +0000)]
Another try at fixing compile warnings on 4.0

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

14 years agoInitialize HasMetadata to zero.
Benjamin Kramer [Thu, 17 Sep 2009 14:51:57 +0000 (14:51 +0000)]
Initialize HasMetadata to zero.

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

14 years agoRemove test cases using -regalloc=simple.
Daniel Dunbar [Thu, 17 Sep 2009 06:37:07 +0000 (06:37 +0000)]
Remove test cases using -regalloc=simple.

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

14 years agoRemove simple regalloc. It has bit rotted.
Evan Cheng [Thu, 17 Sep 2009 05:48:07 +0000 (05:48 +0000)]
Remove simple regalloc. It has bit rotted.

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

14 years agoadd a version of the APFloat constructor that initializes to 0.0
Chris Lattner [Thu, 17 Sep 2009 01:08:43 +0000 (01:08 +0000)]
add a version of the APFloat constructor that initializes to 0.0

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

14 years agoFix PR4910: Broken logic in coalescer means when a physical register liveness is...
Evan Cheng [Thu, 17 Sep 2009 00:57:15 +0000 (00:57 +0000)]
Fix PR4910: Broken logic in coalescer means when a physical register liveness is being shortened, the sub-registers were not. The symptom is the register allocator could not find a free register for this particular test.

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

14 years agoSome platforms may need malloc.h for alloca.
Daniel Dunbar [Thu, 17 Sep 2009 00:14:44 +0000 (00:14 +0000)]
Some platforms may need malloc.h for alloca.

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

14 years agoUpdate CMake.
Daniel Dunbar [Thu, 17 Sep 2009 00:06:48 +0000 (00:06 +0000)]
Update CMake.

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

14 years agoAdded the LODS (load byte into register, usually
Sean Callanan [Wed, 16 Sep 2009 22:59:28 +0000 (22:59 +0000)]
Added the LODS (load byte into register, usually
as part string parsing) instructions to the Intel
instruction tables.

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

14 years agoAdd StringRef::{rfind, rsplit}
Daniel Dunbar [Wed, 16 Sep 2009 22:38:48 +0000 (22:38 +0000)]
Add StringRef::{rfind, rsplit}

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

14 years agoAdded the LAR (load segment access rights)
Sean Callanan [Wed, 16 Sep 2009 21:55:34 +0000 (21:55 +0000)]
Added the LAR (load segment access rights)
instructions to the Intel instruction tables.

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

14 years agoAdded the LOOP family of instructions to the Intel
Sean Callanan [Wed, 16 Sep 2009 21:50:07 +0000 (21:50 +0000)]
Added the LOOP family of instructions to the Intel
instruction tables.

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

14 years agoAdded an alternate form of register-register CMP
Sean Callanan [Wed, 16 Sep 2009 21:11:23 +0000 (21:11 +0000)]
Added an alternate form of register-register CMP
to the Intel instruction tables.

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

14 years agoFix typo.
Devang Patel [Wed, 16 Sep 2009 21:09:07 +0000 (21:09 +0000)]
Fix typo.

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

14 years agoAt iSel time, update DebugLoc based on debug info attached with an instruction.
Devang Patel [Wed, 16 Sep 2009 20:39:11 +0000 (20:39 +0000)]
At iSel time, update DebugLoc based on debug info attached with an instruction.

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

14 years agoAdd a new pass for doing late hoisting of floating-point and vector
Dan Gohman [Wed, 16 Sep 2009 20:25:11 +0000 (20:25 +0000)]
Add a new pass for doing late hoisting of floating-point and vector
constants out of loops. These aren't covered by the regular LICM
pass, because in LLVM IR constants don't require separate
instructions. They're not always covered by the MachineLICM pass
either, because it doesn't know how to unfold folded constant-pool
loads. This is somewhat experimental at this point, and off by
default.

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

14 years agoPrint debug info attached with an instruction.
Devang Patel [Wed, 16 Sep 2009 20:21:17 +0000 (20:21 +0000)]
Print debug info attached with an instruction.

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

14 years agoExpand vector floating-point conversions not supported by NEON.
Bob Wilson [Wed, 16 Sep 2009 20:20:44 +0000 (20:20 +0000)]
Expand vector floating-point conversions not supported by NEON.

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

14 years agoNow that llc can read .ll files directly, teach it to recognize .ll as
Dan Gohman [Wed, 16 Sep 2009 19:18:41 +0000 (19:18 +0000)]
Now that llc can read .ll files directly, teach it to recognize .ll as
an extension, so that the default output filename for foo.ll is foo.s,
not foo.ll.s

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

14 years agoProvide a way to extract location info from DILocation.
Devang Patel [Wed, 16 Sep 2009 18:20:05 +0000 (18:20 +0000)]
Provide a way to extract location info from DILocation.

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

14 years agoParse debug info attached with an instruction.
Devang Patel [Wed, 16 Sep 2009 18:18:06 +0000 (18:18 +0000)]
Parse debug info attached with an instruction.

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

14 years agoAdd an interface to attach debugging information with an instruction.
Devang Patel [Wed, 16 Sep 2009 18:16:11 +0000 (18:16 +0000)]
Add an interface to attach debugging information with an instruction.

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

14 years agoAdd llvm::Metadata to manage metadata used in a context.
Devang Patel [Wed, 16 Sep 2009 18:09:00 +0000 (18:09 +0000)]
Add llvm::Metadata to manage metadata used in a context.
This interface will be used to attach metadata with an instruction.

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

14 years agoFixed some problems with the logic of parsing line comments by adding
Kevin Enderby [Wed, 16 Sep 2009 18:08:00 +0000 (18:08 +0000)]
Fixed some problems with the logic of parsing line comments by adding
isAtStartOfComment and using that instead in two places where a loop
to check if the char was in MAI.getCommentString().

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

14 years agoFix incorrect assert that should be a user error for code like 'mov $0, %%eax'.
Kevin Enderby [Wed, 16 Sep 2009 17:18:29 +0000 (17:18 +0000)]
Fix incorrect assert that should be a user error for code like 'mov $0, %%eax'.

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

14 years agoChange FoldPHIArgBinOpIntoPHI to decline folding if it would introduce two
Dan Gohman [Wed, 16 Sep 2009 16:50:24 +0000 (16:50 +0000)]
Change FoldPHIArgBinOpIntoPHI to decline folding if it would introduce two
phis, similar to the FoldPHIArgGEPIntoPHI change.

Also, delete some comments that don't reflect the code.

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

14 years agoFix the comment in this test.
Dan Gohman [Wed, 16 Sep 2009 16:33:59 +0000 (16:33 +0000)]
Fix the comment in this test.

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

14 years agoMake cmake generated llvm-config output correct JIT backend for non X86 targets.
Xerxes Ranby [Wed, 16 Sep 2009 14:36:35 +0000 (14:36 +0000)]
Make cmake generated llvm-config output correct JIT backend for non X86 targets.

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

14 years agoDon't sort the vector when it is empty. This should fix some expensive checking
Benjamin Kramer [Wed, 16 Sep 2009 11:43:12 +0000 (11:43 +0000)]
Don't sort the vector when it is empty. This should fix some expensive checking
failures.

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

14 years agoReapplied r81355 with the problems fixed.
Andreas Neustifter [Wed, 16 Sep 2009 11:35:50 +0000 (11:35 +0000)]
Reapplied r81355 with the problems fixed.
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086737.html and
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086746.html)

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

14 years agoupdated lib/CodeGen/CMakeLists.txt to unbreak cmake build after r82018
Xerxes Ranby [Wed, 16 Sep 2009 10:18:36 +0000 (10:18 +0000)]
updated lib/CodeGen/CMakeLists.txt to unbreak cmake build after r82018

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

14 years agoPreserve ProfileInfo during CodeGenPrepare.
Andreas Neustifter [Wed, 16 Sep 2009 09:26:52 +0000 (09:26 +0000)]
Preserve ProfileInfo during CodeGenPrepare.

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

14 years agomove FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinter
Chris Lattner [Wed, 16 Sep 2009 06:25:03 +0000 (06:25 +0000)]
move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinter
and use MachineModuleInfoMachO instead.

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

14 years agorevert a hunk of r82018 that wasn't supposed to go in yet.
Chris Lattner [Wed, 16 Sep 2009 06:04:53 +0000 (06:04 +0000)]
revert a hunk of r82018 that wasn't supposed to go in yet.

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

14 years agoadd a new MachineModuleInfoMachO class, which is the per-module
Chris Lattner [Wed, 16 Sep 2009 06:03:48 +0000 (06:03 +0000)]
add a new MachineModuleInfoMachO class, which is the per-module
stuff common across all macho targets.

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

14 years agoapparently russians are really hard to sort or something!
Chris Lattner [Wed, 16 Sep 2009 05:42:12 +0000 (05:42 +0000)]
apparently russians are really hard to sort or something!

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

14 years agoI can sort, no really.
Chris Lattner [Wed, 16 Sep 2009 05:37:13 +0000 (05:37 +0000)]
I can sort, no really.

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

14 years agomake more clear since it is sorted by last name now.
Chris Lattner [Wed, 16 Sep 2009 05:36:54 +0000 (05:36 +0000)]
make more clear since it is sorted by last name now.

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

14 years agoDoug is now the code owner for most of the Clang frontend.
Chris Lattner [Wed, 16 Sep 2009 05:36:07 +0000 (05:36 +0000)]
Doug is now the code owner for most of the Clang frontend.

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

14 years agothe pointer MMI keeps will start out with object-file format specific stuff
Chris Lattner [Wed, 16 Sep 2009 05:26:00 +0000 (05:26 +0000)]
the pointer MMI keeps will start out with object-file format specific stuff

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

14 years agotidy up
Chris Lattner [Wed, 16 Sep 2009 05:25:43 +0000 (05:25 +0000)]
tidy up

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

14 years agorearrange X86ATTAsmPrinter::doFinalization, making a scan of
Chris Lattner [Wed, 16 Sep 2009 05:20:33 +0000 (05:20 +0000)]
rearrange X86ATTAsmPrinter::doFinalization, making a scan of
the global variable list only happen for COFF targets.

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

14 years agoTed is christened as the owner of the clang static analyzer.
Chris Lattner [Wed, 16 Sep 2009 04:59:30 +0000 (04:59 +0000)]
Ted is christened as the owner of the clang static analyzer.

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

14 years agoremove the AsmPrinter::printMCInst hook hack now that
Chris Lattner [Wed, 16 Sep 2009 04:57:15 +0000 (04:57 +0000)]
remove the AsmPrinter::printMCInst hook hack now that
we have MCInstPrinter.

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

14 years agofix cmake build
Shantonu Sen [Wed, 16 Sep 2009 04:44:00 +0000 (04:44 +0000)]
fix cmake build

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

14 years agouse an accessor to simplify code.
Chris Lattner [Wed, 16 Sep 2009 04:12:47 +0000 (04:12 +0000)]
use an accessor to simplify code.

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

14 years agoDo not try and sink a load whose chain result has more than one use, when
Nate Begeman [Wed, 16 Sep 2009 03:20:46 +0000 (03:20 +0000)]
Do not try and sink a load whose chain result has more than one use, when
trying to create RMW opportunities in the x86 backend.  This can cause a
cycle to appear in the graph, since the other uses may eventually feed into
the TokenFactor we are sinking the load below.

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

14 years agoAdded the ENTER instruction, which sets up a stack
Sean Callanan [Wed, 16 Sep 2009 02:57:13 +0000 (02:57 +0000)]
Added the ENTER instruction, which sets up a stack
frame, to the Intel instruction tables.

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

14 years agoAdded the definitions for one-bit left shifts to
Sean Callanan [Wed, 16 Sep 2009 02:28:43 +0000 (02:28 +0000)]
Added the definitions for one-bit left shifts to
the Intel instruction tables.

The patterns will stay blank because ADD reg, reg
is faster, but having the encoding available is
useful for the disassembler.

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

14 years agoDon't sink gep operators through phi nodes if the result would require
Dan Gohman [Wed, 16 Sep 2009 02:01:52 +0000 (02:01 +0000)]
Don't sink gep operators through phi nodes if the result would require
more than one phi, since that leads to higher register pressure on
entry to the phi. This is especially problematic when the phi is in
a loop header, as it increases register pressure throughout the loop.

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

14 years agoRemoved a few instructions that were already
Sean Callanan [Wed, 16 Sep 2009 01:54:38 +0000 (01:54 +0000)]
Removed a few instructions that were already
covered by other definitions.

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