31990 Commits

Author SHA1 Message Date
Daniel Dunbar
ac461a55ce Improve llvm::getHostTriple for some cases where the LLVM_HOSTTRIPLE is not
reliable.

llvm-svn: 80863
2009-09-03 01:10:13 +00:00
Gabor Greif
68c4f27e59 re-commit r66920 (which has been backed out in r66953) I may have more luck this time. I'll back out if needed...
llvm-svn: 80858
2009-09-03 00:18:58 +00:00
Sean Callanan
1c6706b750 Added opaque 32-, 48-, and 80-bit memory operand types to the X86
instruction tables to support segmented addressing (and other objects
of obscure type).
Modified the X86 assembly printers to handle these new operand types.
Added JMP and CALL instructions that use segmented addresses.

llvm-svn: 80857
2009-09-03 00:04:47 +00:00
Daniel Dunbar
79025e46a2 Show derived host triple in --version.
llvm-svn: 80855
2009-09-02 23:52:38 +00:00
Devang Patel
317ab82083 Revert 80839 for now. It causes test failures.
llvm-svn: 80841
2009-09-02 21:49:26 +00:00
Devang Patel
c4be6559c4 Use CallbackVH, instead of WeakVH, to hold MDNode elements.
Use FoldingSetNode to unique MDNodes in a context.
Use CallbackVH hooks to update context's MDNodeSet appropriately.

llvm-svn: 80839
2009-09-02 21:22:09 +00:00
Anton Korobeynikov
7125d63acf More missed vdup patterns
llvm-svn: 80838
2009-09-02 21:21:28 +00:00
Chris Lattner
825c74b1d9 switch from std::string to SmallString + raw_svector_ostream.
llvm-svn: 80807
2009-09-02 17:37:38 +00:00
Chris Lattner
1342ef5d8b split mcinst lowering stuff out to its own file.
llvm-svn: 80806
2009-09-02 17:35:12 +00:00
Dan Gohman
3f7a370991 Refactor common code from ParseAssemblyString and ParseAssemblyFile,
to expose a low-level interface for parsing from an existing MemoryBuffer.

llvm-svn: 80803
2009-09-02 17:18:19 +00:00
Bob Wilson
02cbc5bd86 Rearrange code to eliminate redundancy and avoid gotos.
llvm-svn: 80798
2009-09-02 16:35:35 +00:00
Nuno Lopes
fb0a20c04b plug another leak in LLParser::PerFunctionState::SetInstName()
llvm-svn: 80792
2009-09-02 15:02:57 +00:00
Nuno Lopes
f00826065d plug memory leak in LLParser::PerFunctionState::SetInstName() by deleting a value after replacing it
llvm-svn: 80790
2009-09-02 14:22:03 +00:00
Andreas Neustifter
34150f5680 Sort edges in MaximumSpanningTree more stable in case of equal weight.
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090824/085890.html)

llvm-svn: 80789
2009-09-02 14:03:11 +00:00
Andreas Neustifter
1ec6affbdf Changed set of BlocksToInstrument to set of InsertedBlocks that do not have to
be instrumented.

llvm-svn: 80788
2009-09-02 13:59:05 +00:00
Andreas Neustifter
0bbffed957 Code cleanups and added comments.
llvm-svn: 80781
2009-09-02 12:38:39 +00:00
Torok Edwin
c394ef4a39 Opaque types didn't work if llvm_is_multithreaded().
AlwaysOpaqueTy is always NULL at this point, and it causes an assertion failure.
Fix it by using the just constructed tmp instead.

llvm-svn: 80780
2009-09-02 12:23:05 +00:00
Torok Edwin
31cf28eefd Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in
r80406, and readd a -print-dbginfo test.

llvm-svn: 80778
2009-09-02 11:13:56 +00:00
Sandeep Patel
9c4e094e2a Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.
llvm-svn: 80773
2009-09-02 08:44:58 +00:00
Chris Lattner
30341209de fix PR4815: some cases where DeleteDeadInstruction can delete
the instruction BBI points to.

llvm-svn: 80768
2009-09-02 06:31:02 +00:00
Chris Lattner
2cdeb25274 clean up this code a bit.
llvm-svn: 80767
2009-09-02 06:15:37 +00:00
Chris Lattner
5f54c5bd1c eliminate VISIBILITY_HIDDEN from Transforms/Scalar. PR4861
llvm-svn: 80766
2009-09-02 06:11:42 +00:00
Chris Lattner
52279dbf17 refactor select 'sched insertion' out to its own method.
llvm-svn: 80764
2009-09-02 05:57:00 +00:00
Chris Lattner
c66a43e2b0 Add support for modeling whether or not the processor has support for
conditional moves as a subtarget feature.  This is the easy part of 
PR4841.

llvm-svn: 80763
2009-09-02 05:53:04 +00:00
Chris Lattner
1f08c79edc fix PR4848 an infinite loop when indexing down through a recursive gep
and we get the original pointer type.  This doesn't mean that we're
at the first pointer being indexed.  Correct the predicate.

llvm-svn: 80762
2009-09-02 05:35:45 +00:00
Chris Lattner
8bb351e2c2 fix PR4837, some bugs folding vector compares. These
return a vector of i1, not i1 itself.

llvm-svn: 80761
2009-09-02 05:12:37 +00:00
Chris Lattner
140720ab83 revert my patch, duncan points out what is wrong with my logic. Add
a comment so that I don't change this in the future :)

llvm-svn: 80760
2009-09-02 04:39:04 +00:00
Chris Lattner
e1637fa3f6 one more try at making this simpler, hopefully it won't break everything :)
llvm-svn: 80759
2009-09-02 04:34:06 +00:00
Duncan Sands
b970a46d06 Complicate Chris's simplification, avoiding complaints
about singular iterators when building with expensive
checks turned on.

llvm-svn: 80757
2009-09-02 03:48:41 +00:00
Sean Callanan
8dfa4a30bf Fixed the asmstrings for 8-bit, 16-bit, and 32-bit ADD %rAX, imm instructions.
Added a 64-bit ADD %RAX, imm32 instruction.
Added all 4 forms for AND %rAX, imm and CMP %rAX, imm.

llvm-svn: 80746
2009-09-02 00:55:49 +00:00
Evan Cheng
24b0f4a60e Fix PR4845: r77946 completely broke x86_64 Darwin (or any situation where the
desired triplet is a sub-target, e.g. thumbv7 vs. arm host). Reverting the
patch isn't quite right either since the previous behavior does not allow the
triplet to be overridden with -march.

llvm-svn: 80742
2009-09-02 00:19:03 +00:00
Devang Patel
2d78fddeb4 For now disable MDNode uniquing. This fixes llvm-gcc bootstrap failure on certain Mac OS X 10.5. I am working on a proper fix.
llvm-svn: 80738
2009-09-01 23:56:42 +00:00
Bob Wilson
e267a54022 Avoid calling removeVirtualRegisterKilled which iterates over the operands
to find the kill, since we already have the operand.

llvm-svn: 80736
2009-09-01 23:18:46 +00:00
Bob Wilson
4a9a3d96b5 Refactor some code into separate functions. No functional changes.
llvm-svn: 80733
2009-09-01 22:51:08 +00:00
Bob Wilson
626e983eed Move use of LV inside condition that guards for null LV.
llvm-svn: 80731
2009-09-01 22:19:00 +00:00
Daniel Dunbar
ed881c3427 Fix build warning.
llvm-svn: 80730
2009-09-01 22:07:12 +00:00
Daniel Dunbar
9dbf59e5cd Simplify.
llvm-svn: 80729
2009-09-01 22:07:06 +00:00
Daniel Dunbar
d69c90cc3e Fix what I believe is a copy-n-pasto introduced in r78129.
- Bruno, please check!!

llvm-svn: 80728
2009-09-01 22:07:00 +00:00
Daniel Dunbar
3f9481f8cf X86/Encoding: Support ExternalSymbol operands in emitDisplacementField (for consistency).
llvm-svn: 80727
2009-09-01 22:06:53 +00:00
Daniel Dunbar
9872eb764c Remove Offset from ExternalSybmol MachineOperands, this is unused (and at least partly unsupported, in X86 encoding at least).
llvm-svn: 80726
2009-09-01 22:06:46 +00:00
Chris Lattner
7db43e1b57 debug intrinsics do not go in the callgraph, this fixes a couple
clang regtest failures.

llvm-svn: 80724
2009-09-01 21:37:50 +00:00
Chris Lattner
dd05e763cc Fix a regression I introduced in r80708, found by llvm-test.
llvm-svn: 80718
2009-09-01 20:33:43 +00:00
Bruno Cardoso Lopes
f0ff8b695a Fix ELF Writter related memory leaks
llvm-svn: 80717
2009-09-01 19:25:52 +00:00
Andreas Neustifter
92a4f4d8d3 OptimalEdgeProfiling: Reading in Profiles.
This enables LLVM to read the OptimalEdgeProfiles.

llvm-svn: 80715
2009-09-01 19:08:51 +00:00
Andreas Neustifter
683bc5306c OptimalEdgeProfiling: Creation of profiles.
This adds the instrumentation and runtime part of OptimalEdgeProfiling.

llvm-svn: 80712
2009-09-01 19:03:44 +00:00
Andreas Neustifter
4ee437055b Small fix in ProfileEstimator that eliminates duplicated code.
llvm-svn: 80711
2009-09-01 19:01:59 +00:00
Jim Grosbach
d0f70494f5 reduce size of SmallString to something more reasonable
llvm-svn: 80710
2009-09-01 18:55:08 +00:00
Chris Lattner
ccbb87c998 remove CallGraphNode::replaceCallSite, it is redundant with other APIs.
llvm-svn: 80708
2009-09-01 18:52:39 +00:00
Bob Wilson
6972a16bbc Add support for generating code for vst{234}lane intrinsics.
llvm-svn: 80707
2009-09-01 18:51:56 +00:00
Chris Lattner
3d920b6bee cleanup/simplify
llvm-svn: 80706
2009-09-01 18:50:55 +00:00