Chris Lattner [Thu, 8 May 2008 04:54:43 +0000 (04:54 +0000)]
Add support for constant folding the 'offsetof' pattern even if the
base is not zero. This fixes test/C++Frontend/2008-05-07-CrazyOffsetOf.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50840
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 8 May 2008 00:57:18 +0000 (00:57 +0000)]
Handle vector move / load which zero the destination register top bits (i.e. movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50838
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 May 2008 22:59:08 +0000 (22:59 +0000)]
Add nounwind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50837
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 7 May 2008 22:54:15 +0000 (22:54 +0000)]
Turn StripPointerCast() into a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50836
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Wed, 7 May 2008 21:50:19 +0000 (21:50 +0000)]
Use Doxygen-style comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50833
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 20:04:18 +0000 (20:04 +0000)]
Make the interface of CStrInCStrNoCase be the same as strcasestr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50828
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 May 2008 19:53:05 +0000 (19:53 +0000)]
Add a new LibCallAliasAnalysis pass, which is parameterized
by an instance of LibCallInfo to provide mod/ref info of
standard library functions. This is powerful enough to
say that 'sqrt' is readonly except that it modifies errno,
or that "printf doesn't store to memory unless the %n
constraint is present" etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50827
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 19:22:36 +0000 (19:22 +0000)]
Fix some serious logical errors in CStrInCStrNoCase pointed out by Bill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50826
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 7 May 2008 19:11:09 +0000 (19:11 +0000)]
Output correct exception handling and frame info
on x86-64 linux. This causes no regressions on
32 bit linux and 32 bit ppc. More tests pass
on 64 bit ppc with no regressions. I didn't
turn on eh on 64 bit linux because the intrinsics
needed to compile the eh runtime aren't done
yet. But if you turn it on and link with the
mainline runtime then eh seems to work fine
on x86-64 linux with this patch. Thanks to
Dale for testing. The main point of the patch
is that if you output that some object is
encoded using 4 bytes you had better not output
8 bytes for it: the patch makes everything
consistent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50825
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 18:49:31 +0000 (18:49 +0000)]
Guard for empty strings in CStrInCStrNoCase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50823
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 7 May 2008 18:35:46 +0000 (18:35 +0000)]
Added CStrInCStrNoCase, a portable implementation of strcasestr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50821
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 May 2008 18:21:13 +0000 (18:21 +0000)]
Add a new interface for describing the behavior of library calls. This
Currently is sufficient to describe mod/ref behavior but will hopefully
eventually be extended for other purposes.
This isn't used by anything yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50820
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 7 May 2008 06:39:04 +0000 (06:39 +0000)]
Typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50805
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 7 May 2008 00:49:28 +0000 (00:49 +0000)]
Yet another nasty spiller bug.
%ecx = op
store %cl<kill>, (addr)
(addr) = op %al
It's not safe to unfold the last operand and eliminate store even though %cl is marked kill. It's a sub-register use which means one of its super-register(s) may be used below.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50794
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 7 May 2008 00:35:55 +0000 (00:35 +0000)]
Fix a bug in the ComputeMaskedBits logic for multiply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50793
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 May 2008 00:00:34 +0000 (00:00 +0000)]
Make the use of the "noinline" attribute conditional on using GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50789
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 6 May 2008 23:56:34 +0000 (23:56 +0000)]
Disable loop deletion until the release branch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50787
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 May 2008 23:56:22 +0000 (23:56 +0000)]
Removing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50786
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 May 2008 23:30:02 +0000 (23:30 +0000)]
Workaround for a compiler bug (see <rdar://problem/
5852746>). Once that bug is
fixed, revert this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50782
91177308-0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 6 May 2008 23:14:34 +0000 (23:14 +0000)]
Update a couple VC++ project files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50780
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 6 May 2008 23:09:29 +0000 (23:09 +0000)]
Use target triple in tests, not 'realign-stack=0' option. Per request.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50778
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 6 May 2008 22:52:54 +0000 (22:52 +0000)]
If weak GlobalVariable was bitcast'ed to different type during linking
we will need to strip all casts for intializer lookup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50776
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 6 May 2008 22:52:30 +0000 (22:52 +0000)]
Make StripPointerCast a common function (should we mak it method of Value instead?)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50775
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 6 May 2008 21:01:34 +0000 (21:01 +0000)]
Testcase for r50770.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50771
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 6 May 2008 20:55:16 +0000 (20:55 +0000)]
We need to update PHIs containing the exiting block, not the exit block. We really should come up with better names for these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50770
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 6 May 2008 19:17:01 +0000 (19:17 +0000)]
Improve documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50768
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:18:58 +0000 (18:18 +0000)]
Change from llvm::SmallSet<std::string> to llvm::StringMap<char>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50766
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:18:20 +0000 (18:18 +0000)]
Add new edge property combinator: weight.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50765
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:17:42 +0000 (18:17 +0000)]
Add a help string for the -c option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50764
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:17:19 +0000 (18:17 +0000)]
Update documentation to reflect the current state of affairs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50763
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:16:52 +0000 (18:16 +0000)]
Some cosmetic changes (change some comments, move code around a bit).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50762
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:16:20 +0000 (18:16 +0000)]
Move test files around a bit - fixes the reported number of test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50761
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:15:35 +0000 (18:15 +0000)]
Refactoring: split the function CompilationGraph::Build() into two parts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50760
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:15:12 +0000 (18:15 +0000)]
Use edge weights to choose the right linker based on input language names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50759
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:14:24 +0000 (18:14 +0000)]
Add weights to graph edges. Choose between edges based on their weight.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50757
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:13:45 +0000 (18:13 +0000)]
Remove the UnpackValues() function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50756
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:13:00 +0000 (18:13 +0000)]
Add a --linker command-line option, make all tests pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50755
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:12:03 +0000 (18:12 +0000)]
Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50754
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:11:21 +0000 (18:11 +0000)]
Add two (currently failing) tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50752
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:10:53 +0000 (18:10 +0000)]
Add -x option (like in gcc).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50750
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:10:20 +0000 (18:10 +0000)]
Take object file as input and handle files with the same name correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50749
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:09:29 +0000 (18:09 +0000)]
Rename LLVMCCConfigurationEmitter to LLVMCConfigurationEmitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50748
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:08:59 +0000 (18:08 +0000)]
Add output redirection, rename namespace llvmcc to namespace llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50746
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:08:12 +0000 (18:08 +0000)]
Make AutoGenerated.inc depend also on Tools.td and Common.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50745
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:07:48 +0000 (18:07 +0000)]
Utilize topological sort in CompilationGraph::Build().
This makes more interesting graph topologies possible. Currently all tests pass,
but more testing is needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50744
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 18:07:14 +0000 (18:07 +0000)]
Add TopologicalSort method to CompilationGraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50743
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:44:16 +0000 (17:44 +0000)]
Do not require positional arguments when we're only printing out the graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50742
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:28:03 +0000 (17:28 +0000)]
Make ChooseEdge more generic and use it to choose between different toolchains.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50741
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:27:37 +0000 (17:27 +0000)]
Remove unnecessary argument from PassThroughGraph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50740
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:27:15 +0000 (17:27 +0000)]
Small output formatting fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50739
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:26:53 +0000 (17:26 +0000)]
Add inward edge counters to Nodes; Associate JoinLists with JoinTools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50738
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:26:14 +0000 (17:26 +0000)]
Enhancements for --view-graph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50737
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:25:51 +0000 (17:25 +0000)]
Split the Build function into two parts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50736
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:25:23 +0000 (17:25 +0000)]
Make llvmc return 1 when the compilation fails.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50735
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:24:54 +0000 (17:24 +0000)]
First small tests for llvmc2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50734
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:24:26 +0000 (17:24 +0000)]
Return const char* instead of std::string in Tool classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50733
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:23:50 +0000 (17:23 +0000)]
Add an ability to choose between different edges based on edge properties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50732
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:23:14 +0000 (17:23 +0000)]
Refactoring: extract method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50731
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:22:47 +0000 (17:22 +0000)]
Add new edge properties: parameter_equals, element_in_list, and.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50730
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 17:22:03 +0000 (17:22 +0000)]
Implemented switch_on edge property.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50729
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 16:37:33 +0000 (16:37 +0000)]
Cosmetic change: if( -> if (
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50728
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 16:37:12 +0000 (16:37 +0000)]
Remove ExampleWithOpt.td: this file was merged with Example.td.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50727
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 16:36:50 +0000 (16:36 +0000)]
More work on edge properties. Use Edge classes instead of strings in CompilationGraph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50726
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 16:36:06 +0000 (16:36 +0000)]
Ongoing work: add an edge typechecker, rudimentary support for edge properties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50725
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 16:35:25 +0000 (16:35 +0000)]
Convert internal representation to use DAG. This gives us more flexibility and enables future improvements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50724
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 16:34:39 +0000 (16:34 +0000)]
Small const-correctness fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50723
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Tue, 6 May 2008 16:34:12 +0000 (16:34 +0000)]
Code reorg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50722
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Tue, 6 May 2008 14:56:40 +0000 (14:56 +0000)]
Testcase for PR2292.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50718
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 6 May 2008 08:33:07 +0000 (08:33 +0000)]
Remove tar ball from installed directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50717
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 6 May 2008 07:23:50 +0000 (07:23 +0000)]
Fix PR2287. Darwin passes mmx values in register in 64-mode, not Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50716
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 6 May 2008 05:40:11 +0000 (05:40 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50713
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 6 May 2008 04:03:18 +0000 (04:03 +0000)]
Fix typo and indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50706
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 6 May 2008 03:42:21 +0000 (03:42 +0000)]
Fix renamePathOnDisk on Win32, patch from David Leon. This fixes problems with
llvm-ar being unable to rename files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50702
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 May 2008 02:31:18 +0000 (02:31 +0000)]
fix typo Duncan noticed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50699
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 May 2008 02:29:28 +0000 (02:29 +0000)]
Match things like 'armv5tejl-unknown-linux-gnu' for PR2290
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50698
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 May 2008 01:53:16 +0000 (01:53 +0000)]
Make several variable declarations static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50696
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 May 2008 01:32:53 +0000 (01:32 +0000)]
Remove uses of llvm/System/IncludeFile.h that are no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50695
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 May 2008 00:53:29 +0000 (00:53 +0000)]
Instead of enumerating each opcode that isn't handled that
ComputeMaskedBits handles, just use a 'default:'. This avoids
TargetLowering's list getting out of date with SelectionDAG's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50693
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 May 2008 00:51:48 +0000 (00:51 +0000)]
Correct the value of LowBits in srem and urem handling in
ComputeMaskedBits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50692
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 6 May 2008 00:20:10 +0000 (00:20 +0000)]
Fix a broken doxygen comment, and reword it for clarity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50687
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 5 May 2008 23:38:07 +0000 (23:38 +0000)]
Enable dead loop elimination.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50682
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 May 2008 23:19:45 +0000 (23:19 +0000)]
add a micro optzn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50681
91177308-0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Mon, 5 May 2008 22:56:23 +0000 (22:56 +0000)]
Improved generated code for atomic operators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50677
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 5 May 2008 22:12:23 +0000 (22:12 +0000)]
Code clean up. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50675
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 5 May 2008 21:37:59 +0000 (21:37 +0000)]
Fix: Some classes were derived from a class in an anonymous namespace, but they
themselves weren't in the anonymous namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50673
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 5 May 2008 20:51:58 +0000 (20:51 +0000)]
Using "unsigned" was masking the "size_t" version of this method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50668
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 May 2008 20:21:22 +0000 (20:21 +0000)]
Fix a crash when threading a block that includes a MRV call result.
DemoteRegToStack doesn't work with MRVs yet, because it relies on the
ability to load/store things.
This fixes PR2285.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50667
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 5 May 2008 19:44:16 +0000 (19:44 +0000)]
Remove unused function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50664
91177308-0d34-0410-b5e6-
96231b3b80d8
Mon P Wang [Mon, 5 May 2008 19:05:59 +0000 (19:05 +0000)]
Added addition atomic instrinsics and, or, xor, min, and max.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50663
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 May 2008 18:43:07 +0000 (18:43 +0000)]
Fix IsLinux being uninitialized on non-Linux targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50660
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 5 May 2008 18:30:58 +0000 (18:30 +0000)]
Fix more -Wshorten-64-to-32 warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50659
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 5 May 2008 18:24:33 +0000 (18:24 +0000)]
no need for eh info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50658
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 5 May 2008 17:41:03 +0000 (17:41 +0000)]
Fix 80 column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50655
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Mon, 5 May 2008 17:08:59 +0000 (17:08 +0000)]
Fix 80col violation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50654
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 May 2008 16:48:32 +0000 (16:48 +0000)]
Fix a bug in the ELF writer that caused it to produce malformed
ELF headers. The ELF writer still isn't generally usable though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50652
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 May 2008 16:11:31 +0000 (16:11 +0000)]
Use a dedicated IsLinux flag instead of an ELFLinux TargetType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50649
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 5 May 2008 00:28:39 +0000 (00:28 +0000)]
Add AsmPrinter support for emitting a directive to declare that
the code being generated does not require an executable stack.
Also, add target-specific code to make use of this on Linux
on x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50634
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sun, 4 May 2008 21:36:32 +0000 (21:36 +0000)]
Add General Dynamic TLS model for X86-64. Some parts looks really ugly (look for tlsaddr pattern),
but should work. Work is in progress, more models will follow
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50630
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Sun, 4 May 2008 21:07:35 +0000 (21:07 +0000)]
Fix PR1098 by correcting the postdominators analysis.
Patch by Florian Brandner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50628
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 4 May 2008 18:14:55 +0000 (18:14 +0000)]
remove obsolete method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50622
91177308-0d34-0410-b5e6-
96231b3b80d8