Oscar Fuentes
54c1dedd42
CMake: Fixed cross-compiling.
...
`clean' makefile target removes add-hoc directory created for building
the native tablegen.
llvm-svn: 59005
2008-11-10 22:09:59 +00:00
Dan Gohman
d3b33fea65
Fix indentation.
...
llvm-svn: 59004
2008-11-10 22:09:58 +00:00
Bill Wendling
b85755c829
Temporarily revert r58979 and related patch. It's causing a failure in X86 bootstrap:
...
Comparing stages 2 and 3
warning: ./cc1-checksum.o differs
warning: ./cc1obj-checksum.o differs
warning: ./cc1objplus-checksum.o differs
warning: ./cc1plus-checksum.o differs
Bootstrap comparison failure!
./alias.o differs
./alloc-pool.o differs
./attribs.o differs
./bb-reorder.o differs
./bitmap.o differs
./build/errors.o differs
./build/genattrtab.o differs
./build/genautomata.o differs
./build/genemit.o differs
./build/genextract.o differs
...
-bw
llvm-svn: 59003
2008-11-10 21:22:06 +00:00
Bill Wendling
747f59f0f7
- Make sure that we don't over-increment the iterator when going through the
...
basic blocks.
- Minor code clean-up.
llvm-svn: 59002
2008-11-10 21:13:10 +00:00
Mon P Wang
58fb9135e2
Added CONVERT_RNDSAT (conversion with rounding and saturation) SDNode to
...
support targets that support these conversions. Users should avoid using
this node as the current targets don't generating code for it.
llvm-svn: 59001
2008-11-10 20:54:11 +00:00
Douglas Gregor
cd695e500d
Basic support for taking the address of an overloaded function
...
llvm-svn: 59000
2008-11-10 20:40:00 +00:00
Steve Naroff
74eefb5722
Update VC++ project file.
...
llvm-svn: 58997
2008-11-10 20:03:21 +00:00
Steve Naroff
23394ab63f
Update VC++ project file.
...
llvm-svn: 58996
2008-11-10 20:02:45 +00:00
Devang Patel
d0ce981372
If the sign of exit condition and split condition does not match
...
then do not split loop index.
llvm-svn: 58995
2008-11-10 19:48:34 +00:00
Duncan Sands
ddacbb39ab
Fix PR2667: add soft float support for sint_to_fp/uint_to_fp
...
where the argument is an apint, or smaller than the minimum
size for which there is a libcall (i32).
llvm-svn: 58994
2008-11-10 17:36:26 +00:00
Duncan Sands
13b2e3634b
Tweak some comments.
...
llvm-svn: 58993
2008-11-10 17:31:56 +00:00
Duncan Sands
7da4b44dd1
Small cleanups. No functionality change intended!
...
llvm-svn: 58992
2008-11-10 17:29:56 +00:00
Duncan Sands
d5b53e1c6c
When promoting the result of fp_to_uint/fp_to_sint,
...
inform the optimizers that the result must be zero/
sign extended from the smaller type. For example,
if a fp to unsigned i16 is promoted to fp to i32,
then we are allowed to assume that the extra 16 bits
are zero (because the result of fp to i16 is undefined
if the result does not fit in an i16). This is
quite aggressive, but should help the optimizers
produce better code. This requires correcting a
test which thought that fp_to_uint is some kind
of truncation, which it is not: in the testcase
(which does fp to i1), either the fp value converts
to 0 or 1 or the result is undefined, which is
quite different to truncation.
llvm-svn: 58991
2008-11-10 17:28:30 +00:00
Douglas Gregor
d36ed56c52
Remove an out-of-date FIXME
...
llvm-svn: 58990
2008-11-10 17:01:38 +00:00
Douglas Gregor
49de5340c0
Improve parser error recovery after a constructor initializer
...
llvm-svn: 58989
2008-11-10 16:59:40 +00:00
Douglas Gregor
f52cdd0124
Allow user-defined conversions during reference binding
...
llvm-svn: 58988
2008-11-10 16:14:15 +00:00
Douglas Gregor
1cd48f1645
Don't create a typedef for the injected-class-name
...
llvm-svn: 58987
2008-11-10 14:41:22 +00:00
Douglas Gregor
6cf0806e75
Some cleanups to the declaration/checking of overloaded operators in C++. Thanks to Sebastian for the review
...
llvm-svn: 58986
2008-11-10 13:38:07 +00:00
Zhongxing Xu
bba5c7c629
Add pretty printing to StringRegion.
...
llvm-svn: 58985
2008-11-10 13:05:26 +00:00
Duncan Sands
0a758fae91
Work around PR1000.
...
llvm-svn: 58984
2008-11-10 10:05:09 +00:00
Zhongxing Xu
7be05ed6b8
Add region store model to path-sensitive testing.
...
llvm-svn: 58983
2008-11-10 09:43:12 +00:00
Zhongxing Xu
18d6fd45de
Implement RegionStoreManager::RemoveDeadBindings(). This prunes several false warning caused by removal of symbolic constraints. Currently we just mark all symbols live. Further optimization for dead binding removal needed.
...
llvm-svn: 58982
2008-11-10 09:39:04 +00:00
Anton Korobeynikov
8e58c52b37
Proper way of doing llvm canadian-cross compilation.
...
Patch by Jim Grosbach!
llvm-svn: 58981
2008-11-10 07:33:13 +00:00
Dale Johannesen
23be3fd970
Reenable test.
...
llvm-svn: 58980
2008-11-10 07:30:32 +00:00
Dale Johannesen
671743369c
Really fix testb optimization on big-endian.
...
Fixes ppc32 bootstrap.
llvm-svn: 58979
2008-11-10 07:16:42 +00:00
Bill Wendling
7ef7314d1a
Third time's a charm.
...
The previous patches didn't match correctly. Also, we need to make sure that
the conditional is the same before doing the transformation.
llvm-svn: 58978
2008-11-10 06:59:06 +00:00
Chris Lattner
b5d21a4d03
don't preserve names on IR instructions. This matches llvm-gcc's behavior and
...
speeds up the compiler by ~8% at -emit-llvm -O0.
llvm-svn: 58977
2008-11-10 06:31:46 +00:00
Chris Lattner
494e4a6e3e
sort files add a missed header to the project.
...
llvm-svn: 58976
2008-11-10 06:31:19 +00:00
Chris Lattner
f61801403d
Fix even more bugs in debug info support:
...
1. emit proper debug info for forward decls of structs.
2. emit DW_TAG_member nodes around members of a field like llvm-gcc does.
This slows down debug info generation, but is required for correctness.
llvm-svn: 58973
2008-11-10 06:10:01 +00:00
Chris Lattner
affb37337f
reimplement debug info generation in terms of DebugInfo.h instead of
...
using MachineModuleInfo. This runs at about the same speed as the old
code, but fixes a bunch of bugs and is simpler and shorter.
llvm-svn: 58971
2008-11-10 06:08:34 +00:00
Chris Lattner
2a09239563
final edits
...
llvm-svn: 58966
2008-11-10 05:40:34 +00:00
Zhongxing Xu
1c31dbe417
Print integer value instead of raw pointer. This is a hack to be fixed by migrating the output in analyzer to llvm::raw_ostream.
...
llvm-svn: 58965
2008-11-10 05:00:06 +00:00
Mon P Wang
25f0106fd9
Added support for the following definition of shufflevector
...
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>
llvm-svn: 58964
2008-11-10 04:46:22 +00:00
Chris Lattner
09487cd437
eliminate a couple more uses of utohexstr.
...
llvm-svn: 58963
2008-11-10 04:35:24 +00:00
Chris Lattner
5505eed5ac
Use utohex_buffer instead of utohexstr to avoid creating a temporary
...
string in the .ll and .s printers.
llvm-svn: 58962
2008-11-10 04:30:26 +00:00
Chris Lattner
90cdddec75
split out the functionality of utohexstr into a new utohex_buffer
...
helper. This allows us to convert numbers to hex without necessarily
needing to make a std::string to hold the result.
llvm-svn: 58961
2008-11-10 04:22:46 +00:00
Chris Lattner
53c56e4176
Move getCastToEmpty out of DIDescriptor into DIFactory. It is an
...
implementation detail of DIFactory anyway, and this allows it to avoid
recomputing the same type over and over.
llvm-svn: 58960
2008-11-10 04:10:34 +00:00
Chris Lattner
bc09b36016
Fix an over aggressive assumption that struct decls will have a pointer to
...
an array that is empty. Instead of requiring this array, allow a null pointer.
This shrinks all forward references of structs.
llvm-svn: 58959
2008-11-10 03:48:55 +00:00
Chris Lattner
85af1ee10d
Fix a bug with default arguments that apple gcc doesn't notice that llvmbb does.
...
llvm-svn: 58958
2008-11-10 03:11:39 +00:00
Chris Lattner
9d5771ea17
move some cases around to silence these sorts of warnings in
...
release-asserts build:
llvm/CodeGen/SelectionDAGNodes.h:1298: warning: control may reach end of non-void function 'unsigned int llvm::MVT::getSizeInBits() const' being inlined
what an unhelpful warning.
llvm-svn: 58957
2008-11-10 03:05:41 +00:00
Chris Lattner
231f7bbdbe
silence a warning from gcc.
...
llvm-svn: 58956
2008-11-10 03:00:37 +00:00
Chris Lattner
4978d35967
add new file
...
llvm-svn: 58955
2008-11-10 02:58:28 +00:00
Chris Lattner
6d3893359e
Add a new set of helper classes for creating and reading debug
...
information. This logically replaces the "Desc" classes in
MachineModuleInfo. Nice features of these classes are that they:
1. Are much more efficient than MMI because they don't create a
temporary parallel data structure for debug info that has to be
'serialized' and 'deserialized' into/out of the module.
2. These provide a much cleaner abstraction for debug info than
MMI, which will make it easier to change the implementation in
the future (to be MDNode-based).
3. These are much easier to use than the MMI interfaces, requiring
a lot less code in the front-ends.
4. These can be used to both create (for frontends) and read (for
codegen) debug information. DebugInfoBuilder can only be used
to create the nodes.
So far, this is implemented just enough to support the debug info
generation needs of clang. This can and should be extended to
support the full set of debug info constructs, and we should switch
llvm-gcc and llc over to using this in the near future.
This code also has a ton of FIXMEs in it, because the way we
currently represent debug info in LLVM IR is basically insane in a
variety of details. This sort of issue should be fixed when we
eventually reimplement debug info on top of MDNodes.
llvm-svn: 58954
2008-11-10 02:56:27 +00:00
Oscar Fuentes
9530edd1f4
CMake: Builds a native tblgen when cross-compiling and the user didn't
...
set LLVM_TABLEGEN.
llvm-svn: 58953
2008-11-10 02:35:55 +00:00
Evan Cheng
0d9db40994
Forgot these.
...
llvm-svn: 58952
2008-11-10 01:52:24 +00:00
Oscar Fuentes
e9edc2cd15
CMake: Implement magic word `all' for selecting all targets. Check
...
that specified targets are known.
llvm-svn: 58951
2008-11-10 01:47:07 +00:00
Oscar Fuentes
e352ca077c
CMake: Non-working code for auto-building the native tblgen util when
...
cross-compiling.
llvm-svn: 58950
2008-11-10 01:32:14 +00:00
Evan Cheng
9f3058f3be
Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.
...
llvm-svn: 58949
2008-11-10 01:08:07 +00:00
Argyrios Kyrtzidis
9e59b577d8
Introduce ScopedDecl::getLexicalDeclContext() which is different from ScopedDecl::getDeclContext() when there are nested-names.
...
e.g.:
namespace A {
void f(); // SemanticDC (getDeclContext) == LexicalDC (getLexicalDeclContext) == 'namespace A'
}
void A::f(); // SemanticDC == namespace 'A'
// LexicalDC == global namespace
llvm-svn: 58948
2008-11-09 23:41:00 +00:00
Bill Wendling
4fb13c051d
Correction for the last patch. Should match the conditional in the first part
...
of the select match, not the select instruction itself.
llvm-svn: 58947
2008-11-09 23:37:53 +00:00