Douglas Gregor
82b7372941
An idea for limiting diagnostic output, from David Abrahams
...
llvm-svn: 63732
2009-02-04 13:07:56 +00:00
Duncan Sands
e7d5479136
Allow the inverse transform x86_fp80 -> i80 (also
...
fires during the Ada build).
llvm-svn: 63731
2009-02-04 11:17:06 +00:00
Duncan Sands
1ea1173143
Fix PR3468: a crash when constant folding a bitcast of
...
i80 to x86 long double (this was presumably generated
by sroa).
llvm-svn: 63730
2009-02-04 10:17:14 +00:00
Evan Cheng
4ded601445
Don't call isInvariantLoad twice.
...
llvm-svn: 63729
2009-02-04 09:21:58 +00:00
Evan Cheng
1d9f7ac8cc
Don't bother hoisting out a "cheap" instruction if all of its uses are PHIs. LICM "cheap" instructions are not particularly beneficial to start with. This will just end up making the copies harder to coalesce.
...
llvm-svn: 63728
2009-02-04 09:19:56 +00:00
Daniel Dunbar
3ba943ed7a
ccc: -ObjC and -ObjC++ change default language, but only for "source
...
files".
llvm-svn: 63727
2009-02-04 08:01:01 +00:00
Daniel Dunbar
6e3b7df125
Handle demotion of coerced arguments (as in void a(x) short x; { ... }).
...
llvm-svn: 63726
2009-02-04 07:22:24 +00:00
Evan Cheng
0649abdfe2
For now, only hoist re-materilizable instructions. LICM will increase register pressure. We want to avoid spilling more instructions if it's possible.
...
llvm-svn: 63725
2009-02-04 07:17:49 +00:00
Nick Lewycky
11e9214ee6
Regenerate.
...
llvm-svn: 63724
2009-02-04 06:27:44 +00:00
Nick Lewycky
a89ec99fa2
Reapply patch from r62553, with a fix to avoid looking for an ffi.h that isn't
...
there.
This changes the interpreter to use libffi. After this patch, the interpreter
will barely be able to call any external functions if built on a system without
libffi installed (just enough to pass 'make check' really). But with libffi,
we can now call any function that isn't variadic or taking a struct or vector
parameter (but pointer to struct is fine). Patch by Alexei Svitkine!
llvm-svn: 63723
2009-02-04 06:26:47 +00:00
Chris Lattner
1c967784f3
Implement handling of file entry/exit notifications from GNU
...
line markers, including maintenance of the virtual include stack.
For something like this:
# 42 "bar.c" 1
# 142 "bar2.c" 1
#warning zappa
# 92 "bar.c" 2
#warning gonzo
# 102 "foo.c" 2
#warning bonkta
we now produce these three warnings:
#1 :
In file included from foo.c:3:
In file included from bar.c:42:
bar2.c:143:2: warning: #warning zappa
#warning zappa
^
#2 :
In file included from foo.c:3:
bar.c:92:2: warning: #warning gonzo
#warning gonzo
^
#3 :
foo.c:102:2: warning: #warning bonkta
#warning bonkta
^
llvm-svn: 63722
2009-02-04 06:25:26 +00:00
Chris Lattner
e7bfe52046
# 42 doesn't change system header state either, add test.
...
llvm-svn: 63721
2009-02-04 05:36:14 +00:00
Chris Lattner
95d9c5e778
make getFileCharacteristic linetable aware. line markers that
...
play around with the 'is system header' bit now function correctly.
llvm-svn: 63720
2009-02-04 05:33:01 +00:00
Chris Lattner
0a1a8d8514
propagate linemarker flags down into the the line table, currently
...
ignoring include stack push/pop info though.
llvm-svn: 63719
2009-02-04 05:21:58 +00:00
Owen Anderson
1caf7fef8e
Finish making AliasAnalysis aware of the fact that most atomic intrinsics only dereference their arguments, and enhance
...
BasicAA to make use of this fact when computing ModRef info.
llvm-svn: 63718
2009-02-04 05:16:46 +00:00
Chris Lattner
334a2ada06
replace gimpy linear search with svelte binary search ;-)
...
llvm-svn: 63717
2009-02-04 04:46:59 +00:00
Dale Johannesen
679073b420
Remove non-DebugLoc forms of the exotic forms
...
of Lod and Sto; patch uses.
llvm-svn: 63716
2009-02-04 02:34:38 +00:00
Zhongxing Xu
6d5fe08e1b
Remove dead code.
...
llvm-svn: 63715
2009-02-04 02:30:11 +00:00
Chris Lattner
8411e168f8
make my atrocious linear search at least search in the order that is
...
more likely to hit.
llvm-svn: 63714
2009-02-04 02:29:52 +00:00
Chris Lattner
7941b81498
Add simple #line directive test.
...
llvm-svn: 63713
2009-02-04 02:17:09 +00:00
Chris Lattner
20c50ba26c
add comment
...
llvm-svn: 63712
2009-02-04 02:15:40 +00:00
Chris Lattner
e508c36338
spelling change.
...
llvm-svn: 63711
2009-02-04 02:15:34 +00:00
Chris Lattner
c1219ff7cc
add the difference in the line marker phys line number and the
...
query point to the returned presumed location. We now produce:
foo.h:92:2: warning: #warning blarg!
#warning blarg!
^
foo.h:93:2: warning: #warning blarg!
#warning blarg!
^
foo.h:94:2: warning: #warning blarg!
#warning blarg!
^
for:
#line 92 "foo.h"
#warning blarg!
#warning blarg!
#warning blarg!
blarg indeed!
llvm-svn: 63710
2009-02-04 02:00:59 +00:00
Chris Lattner
d429392285
add really really trivial #line support, where #line now makes every
...
location below it report as coming from the #line location. For example,
with:
#line 92 "foo.h"
#warning blarg!
#warning blarg!
we now emit:
foo.h:92:2: warning: #warning blarg!
#warning blarg!
^
foo.h:92:2: warning: #warning blarg!
#warning blarg!
^
llvm-svn: 63709
2009-02-04 01:55:42 +00:00
Chris Lattner
5177d3ee8f
simplify.
...
llvm-svn: 63708
2009-02-04 01:54:28 +00:00
Chris Lattner
a6df124b44
fix a pretty serious bug in StringMap where GetOrCreate(strstart,strend, z)
...
would not set new values to Z.
llvm-svn: 63707
2009-02-04 01:54:10 +00:00
Chris Lattner
21df8c95a5
add a friend needed by a stringmap change.
...
llvm-svn: 63706
2009-02-04 01:51:53 +00:00
Dale Johannesen
f2bb6f09a3
Remove some more non-DebugLoc versions of construction
...
functions, with callers adjusted to fit.
llvm-svn: 63705
2009-02-04 01:48:28 +00:00
Dale Johannesen
efb82cfbf2
Check in file I forgot.
...
llvm-svn: 63704
2009-02-04 01:33:20 +00:00
Dale Johannesen
85263882aa
Remove a few non-DebugLoc versions of node creation
...
functions.
llvm-svn: 63703
2009-02-04 01:17:06 +00:00
Mon P Wang
4379a795fe
Fixes a case where we generate an incorrect mask for pshfhw in the presence
...
of undefs and incorrectly determining if we have punpckldq.
llvm-svn: 63702
2009-02-04 01:16:59 +00:00
Chris Lattner
88ea93e6b4
lower the interface to getLineNumber like we did for
...
getColumnNumber. This fixes a FIXME in
SourceManager::getPresumedLoc because we now just decompose
the sloc once.
llvm-svn: 63701
2009-02-04 01:06:56 +00:00
Devang Patel
fd9f635103
While folding vallue comparison terminators ignore dbg intrinsics.
...
llvm-svn: 63700
2009-02-04 01:06:11 +00:00
Daniel Dunbar
aa64e6807d
Force triple for this test case.
...
llvm-svn: 63699
2009-02-04 00:58:28 +00:00
Chris Lattner
e4ad417664
make SM::getColumnNumber take a predecomposed FileID/offset, which
...
makes it clear to clients that they have to pick an instantiation
or spelling location before calling it and allows optimization based
on that.
llvm-svn: 63698
2009-02-04 00:55:58 +00:00
Daniel Dunbar
310c5b1ab1
Update passing of _Bool values to match what function was declared to take.
...
llvm-svn: 63697
2009-02-04 00:55:44 +00:00
Daniel Dunbar
4d22e4975a
Change construction of common ObjC functions to use CGCall
...
infrastructure to construct function type.
- For consistencty, we should probably always use this to construct
function types, but these are absolutely necessary to ensure that
we can emit calls to these functions.
llvm-svn: 63695
2009-02-04 00:44:42 +00:00
Chris Lattner
153a0f1f52
build per-fid linetable entries.
...
llvm-svn: 63694
2009-02-04 00:40:31 +00:00
Dale Johannesen
bbf13f54e0
Patch up omissions in DebugLoc propagation.
...
llvm-svn: 63693
2009-02-04 00:33:20 +00:00
Douglas Gregor
e254f90d94
Initial implementation of argument dependent lookup (a.k.a. ADL,
...
a.k.a. Koenig lookup) in C++. Most of the pieces are in place, but for
two:
- In an unqualified call g(x), even if the name does not refer to
anything in the current scope, we can still find functions named
"g" based on ADL. We don't yet have this ability.
- ADL will need updating for friend functions and templates.
llvm-svn: 63692
2009-02-04 00:32:51 +00:00
Fariborz Jahanian
3d9296e6f5
Some function stub added for new abi messaging.
...
llvm-svn: 63691
2009-02-04 00:22:57 +00:00
Dale Johannesen
9888edee10
Fill in more omissions in DebugLog propagation.
...
I think that's it for this directory.
llvm-svn: 63690
2009-02-04 00:13:36 +00:00
Bill Wendling
0b4403f9bd
Constify and don't return a reference.
...
llvm-svn: 63689
2009-02-04 00:05:34 +00:00
Daniel Dunbar
eb39504426
Use -fnext-runtime for this test.
...
llvm-svn: 63688
2009-02-04 00:03:15 +00:00
Devang Patel
f10e287c65
Ignore dbg intrinsics while hoisting common code in the two blocks up into the branch block.
...
llvm-svn: 63687
2009-02-04 00:03:08 +00:00
Fariborz Jahanian
4193308b2a
-x language fix.
...
Patch by David Chisnall
llvm-svn: 63686
2009-02-03 23:59:32 +00:00
Daniel Dunbar
84388bf397
Use CGCall infrastructure to call enumeration mutation function.
...
llvm-svn: 63685
2009-02-03 23:55:40 +00:00
Fariborz Jahanian
82c72e1ee4
Several new declarations for objc2 nonfragile
...
abi messaging.
llvm-svn: 63684
2009-02-03 23:49:23 +00:00
Daniel Dunbar
1ef7373ee8
Fix return type for calls to objc_setProperty.
...
llvm-svn: 63683
2009-02-03 23:43:59 +00:00
Daniel Dunbar
a33461150d
Use ConvertTypeForMem when creating alloca for scalar argument.
...
llvm-svn: 63681
2009-02-03 23:04:57 +00:00