Ted Kremenek
9a4e5663d2
Hoist some branches in AnalysisManager::HandleTranslationUnit so we
...
avoid scanning for an "entry point" FunctionDecl if we (a) have no
translation unit actions and (b) no entry point function has been
specified.
llvm-svn: 82846
2009-09-26 04:15:09 +00:00
Anders Carlsson
0374742326
Use ABIArgInfo::getDirect() for all types that have a pointer representation.
...
llvm-svn: 82845
2009-09-26 03:56:53 +00:00
Douglas Gregor
fae1d71592
Yet another simplifying use of Sema::getMostSpecialized
...
llvm-svn: 82844
2009-09-26 03:56:17 +00:00
Anders Carlsson
296f8dc52f
Mangle record types as decls.
...
llvm-svn: 82843
2009-09-26 03:55:37 +00:00
Ted Kremenek
7226af69cb
Add a "positive" matching test case for attribute 'noreturn' that involves a nested infinite loop.
...
llvm-svn: 82842
2009-09-26 03:54:06 +00:00
Ted Kremenek
9fa2eefa4c
Add two more test cases for attribute 'noreturn'.
...
llvm-svn: 82841
2009-09-26 03:48:56 +00:00
Douglas Gregor
5de279ccab
Use Sema::getMostSpecialized to eliminate a redundant implementation of the most-specialized function template
...
llvm-svn: 82840
2009-09-26 03:41:46 +00:00
Anders Carlsson
9f8e3d1929
Change isTemplate to return the actual template declaration.
...
llvm-svn: 82839
2009-09-26 03:24:57 +00:00
Evan Cheng
6a3bdd872c
Really remove this option.
...
llvm-svn: 82838
2009-09-26 02:49:49 +00:00
Evan Cheng
d0fe5abc23
Remove a couple of unused command line options.
...
llvm-svn: 82837
2009-09-26 02:45:45 +00:00
Evan Cheng
4a949408fb
Add comment.
...
llvm-svn: 82836
2009-09-26 02:43:36 +00:00
Evan Cheng
d080f7bf26
Convert test to filecheck.
...
llvm-svn: 82835
2009-09-26 02:41:17 +00:00
Dan Gohman
2f5bdcb7c2
Don't hoist or sink instructions with physreg uses if the physreg is
...
allocatable. Even if it doesn't appear to have any defs, it may latter
on after register allocation.
llvm-svn: 82834
2009-09-26 02:34:00 +00:00
Anders Carlsson
bdaaab4671
Improve mangling of typename types.
...
llvm-svn: 82833
2009-09-26 02:26:02 +00:00
Anders Carlsson
47680d8040
Rename NextOffset to DataSize.
...
llvm-svn: 82832
2009-09-26 01:34:51 +00:00
Anders Carlsson
7f78d85be4
Start at NextOffset when laying out bases as well.
...
llvm-svn: 82831
2009-09-26 01:29:10 +00:00
Daniel Dunbar
73b6b4e1a3
Disable c-index-test on MSVC until someone figures out the real problem.
...
llvm-svn: 82830
2009-09-26 01:21:38 +00:00
Dan Gohman
48f7da742a
I put the wrong rdar number in this test.
...
llvm-svn: 82829
2009-09-26 01:11:57 +00:00
Anders Carlsson
a6d95b5a3e
Use NextOffset when laying out a field.
...
llvm-svn: 82828
2009-09-26 01:09:35 +00:00
Anders Carlsson
294616a74c
Don't try to dump invalid decls or forward decls.
...
llvm-svn: 82827
2009-09-26 01:02:04 +00:00
Anders Carlsson
9d1b34ba81
Cast cleanup.
...
llvm-svn: 82826
2009-09-26 00:12:34 +00:00
Dan Gohman
e30d63f1d8
Unbreak MachineLICM for instructions that reference RIP on x86-64 too.
...
llvm-svn: 82825
2009-09-25 23:58:45 +00:00
Douglas Gregor
0e876e0180
Use explicitly-specified template argument lists to help naming
...
explicit template specializations, when available.
llvm-svn: 82824
2009-09-25 23:53:26 +00:00
Dan Gohman
394468dc8e
Rename ConstantFP's getInf to getInfinity.
...
llvm-svn: 82823
2009-09-25 23:40:21 +00:00
Dan Gohman
5a6b11cb71
Move MachineMemOperand::getAlignment out of line, to avoid needing
...
MathExtras.h in MachineMemOperand.h.
llvm-svn: 82822
2009-09-25 23:33:20 +00:00
Daniel Dunbar
f6dbd6f26e
Remove unused variable.
...
llvm-svn: 82821
2009-09-25 23:26:56 +00:00
Dan Gohman
5ffd53892d
Transform pow(x, 0.5) to (x == -inf ? inf : fabs(sqrt(x))), which is
...
typically faster then doing a general pow.
llvm-svn: 82819
2009-09-25 23:10:17 +00:00
Dan Gohman
feb5021134
Add a ConstantFP::getInf utility function for creating infinity ConstantFPs.
...
llvm-svn: 82818
2009-09-25 23:00:48 +00:00
Dan Gohman
a317687e85
Fix MachineSink to be able to sink instructions that use physical registers
...
which have no defs anywhere in the function. In particular, this fixes sinking
of instructions that reference RIP on x86-64, which is currently being modeled
as a register.
llvm-svn: 82815
2009-09-25 22:53:29 +00:00
Anton Korobeynikov
a3090655d5
Regenerate
...
llvm-svn: 82814
2009-09-25 22:53:17 +00:00
Anton Korobeynikov
8493c5de0f
Provide proper masks for neon perfect shuffle table.
...
I definitely need to read documentation better :(
llvm-svn: 82813
2009-09-25 22:52:29 +00:00
Dan Gohman
e603710d11
Simplify a few more uses of reg_iterator.
...
llvm-svn: 82812
2009-09-25 22:26:13 +00:00
Dan Gohman
5edd45a76b
Simplify this code by using use_iterator instead of reg_iterator
...
and skipping the defs.
llvm-svn: 82811
2009-09-25 22:24:52 +00:00
Steve Naroff
43b118fc2c
Fix cut/paste error resulting in bad column info.
...
llvm-svn: 82810
2009-09-25 22:15:54 +00:00
Steve Naroff
2676089407
Add clang_getDeclSource().
...
llvm-svn: 82807
2009-09-25 21:45:39 +00:00
Douglas Gregor
d90fd526d3
Declarators can now properly represent template-ids, e.g., for
...
template void f<int>(int);
~~~~~~
Previously, we silently dropped the template arguments. With this
change, we now use the template arguments (when available) as the
explicitly-specified template arguments used to aid template argument
deduction for explicit template instantiations.
llvm-svn: 82806
2009-09-25 21:45:23 +00:00
Evan Cheng
fd6aad7f1c
Code clean up and prepare for Thumb2 support. No functionality changes.
...
llvm-svn: 82805
2009-09-25 21:44:53 +00:00
Evan Cheng
3872b3c13e
Flip -disable-post-RA-scheduler to -post-RA-scheduler.
...
llvm-svn: 82803
2009-09-25 21:38:11 +00:00
Steve Naroff
63f475a212
Add clang_getDeclLine and clang_getDeclColumn
...
Fix clang_getCursorDecl to do the right thing for expr refs
Fixup test file to accommodate new output (which includes the line/column for the referenced decl)
llvm-svn: 82798
2009-09-25 21:32:34 +00:00
Jeffrey Yasskin
14a5cc54e5
Fix a compile failure introduced by r82675 on MinGW which doesn't have
...
setenv(). This patch just disables the test rather than getting putenv() to
work. Thanks to Sandeep Patel for reporting the problem.
llvm-svn: 82797
2009-09-25 21:07:20 +00:00
Dale Johannesen
f6a987b784
Handle sqrt in CannotBeNegativeZero. absf and absl
...
appear to be misspellings, removed in favor of fabs*.
llvm-svn: 82796
2009-09-25 20:54:50 +00:00
Dan Gohman
48b185d6f7
Improve MachineMemOperand handling.
...
- Allocate MachineMemOperands and MachineMemOperand lists in MachineFunctions.
This eliminates MachineInstr's std::list member and allows the data to be
created by isel and live for the remainder of codegen, avoiding a lot of
copying and unnecessary translation. This also shrinks MemSDNode.
- Delete MemOperandSDNode. Introduce MachineSDNode which has dedicated
fields for MachineMemOperands.
- Change MemSDNode to have a MachineMemOperand member instead of its own
fields with the same information. This introduces some redundancy, but
it's more consistent with what MachineInstr will eventually want.
- Ignore alignment when searching for redundant loads for CSE, but remember
the greatest alignment.
Target-specific code which previously used MemOperandSDNodes with generic
SDNodes now use MemIntrinsicSDNodes, with opcodes in a designated range
so that the SelectionDAG framework knows that MachineMemOperand information
is available.
llvm-svn: 82794
2009-09-25 20:36:54 +00:00
Fariborz Jahanian
49850dfc4e
Refixed pr5050 per Anders comment. Test case enhanced
...
per Doug's comment.
llvm-svn: 82791
2009-09-25 18:59:21 +00:00
Dan Gohman
32f71d714b
Rename getTargetNode to getMachineNode, for consistency with the
...
naming scheme used in SelectionDAG, where there are multiple kinds
of "target" nodes, but "machine" nodes are nodes which represent
a MachineInstr.
llvm-svn: 82790
2009-09-25 18:54:59 +00:00
Douglas Gregor
450f0084a2
WIP implementation of explicit instantiation of function templates,
...
member functions of class template specializations, and static data
members. The mechanics are (mostly) present, but the semantic analysis
is very weak.
llvm-svn: 82789
2009-09-25 18:43:00 +00:00
David Goodwin
bea6848f9d
Finish scheduling itineraries for NEON.
...
llvm-svn: 82788
2009-09-25 18:38:29 +00:00
Dale Johannesen
114e105662
Add readonly to some sin and cos calls; transformations
...
being checked aren't valid without it.
llvm-svn: 82786
2009-09-25 18:15:29 +00:00
Victor Hernandez
e6ff7662b6
Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests.
...
llvm-svn: 82784
2009-09-25 18:11:52 +00:00
Fariborz Jahanian
5aec1b54bc
Fix the AST tree so ir-gen can do the conversion via copy construction.
...
Fixed pr5050.
llvm-svn: 82783
2009-09-25 18:11:25 +00:00
Mike Stump
1dbb8f78a3
Fix 80-col violation.
...
llvm-svn: 82782
2009-09-25 18:11:00 +00:00