Devang Patel
9e30e1a3be
Do not promote null values because it may be unsafe to do so.
...
llvm-svn: 42270
2007-09-24 20:02:42 +00:00
Daniel Berlin
5d7136a1df
Implement offline variable substitution in order to reduce memory
...
and time usage.
Fixup operator == to make this work, and add a resize method to DenseMap
so we can resize our hashtable once we know how big it should be.
llvm-svn: 42269
2007-09-24 19:45:49 +00:00
Dan Gohman
071efe28bb
Fix the syntax for the .loc directive in preparation for using it.
...
llvm-svn: 42268
2007-09-24 19:25:06 +00:00
Daniel Berlin
d746bbd908
Add section on bit containers.
...
(Not the most well written stuff in the universe :P)
llvm-svn: 42267
2007-09-24 17:52:25 +00:00
Tanya Lattner
583e27d755
XFAIL for llvm-gcc4.0
...
llvm-svn: 42266
2007-09-24 17:14:53 +00:00
Dan Gohman
82dcfd2dab
The code that used the StartLabelId label was removed, so remove the
...
code that creates the label too.
llvm-svn: 42265
2007-09-24 16:44:26 +00:00
Dan Gohman
6002818999
Use the correct result value type instead of using getValueType(0)
...
in ExpandEXTRACT_VECTOR_ELT and SplitVectorOp. This fixes an abort
in the included testcase.
llvm-svn: 42264
2007-09-24 15:54:53 +00:00
Dan Gohman
f818ccd463
Fix a typo in a comment.
...
llvm-svn: 42263
2007-09-24 15:50:11 +00:00
Dan Gohman
75470c3bf1
explicit keywords.
...
llvm-svn: 42262
2007-09-24 15:48:49 +00:00
Dan Gohman
043689cf7d
Remove an unnecessary static_cast.
...
llvm-svn: 42261
2007-09-24 15:46:02 +00:00
Ted Kremenek
962942f7a4
Added smart pointer class "IntrusiveSPtr" that handles reference
...
counted objects that maintain their own internal reference count.
This smart pointer implementation is compatible with LLVM-style
down-casting (see in llvm: include/llvm/Support/Casting.h).
Implemented "RefCounted", a base class that objects that wish to be
managed using IntrusiveSPtrs can subclass.
Reference counted objects are being targeted for use in path-sensitive
dataflow analyses where managing many live objects becomes difficult.
llvm-svn: 42260
2007-09-24 06:10:20 +00:00
Chris Lattner
5b5484db63
claim that "st" is from the 80-bit register file. This causes x87-using inline
...
asm to die with:
ScheduleDAG.cpp:269: failed assertion `false && "Couldn't find the register class"'
instead of:
failed assertion `RegMap->getRegClass(VReg) == RC && "Register class of operand and regclass of use don't agree!"'
yay.
llvm-svn: 42259
2007-09-24 05:27:37 +00:00
Chris Lattner
d05e44e74e
If we see an invalid #ifdef directive, enter a conditional compilation region
...
so that we don't emit an error on the #endif. Suggestion by Neil.
llvm-svn: 42258
2007-09-24 05:14:57 +00:00
Chris Lattner
7d98b23f1a
When emitting .set directives, make sure the EH and Debug labels can't conflict.
...
llvm-svn: 42257
2007-09-24 03:35:37 +00:00
Owen Anderson
32eed1542e
Fix typo.
...
llvm-svn: 42256
2007-09-24 02:33:22 +00:00
Owen Anderson
4f7c390939
Merge significant portions of the DomTree and PostDomTree implementations.
...
The two remaining unmerged parts are DFSPass, and the Calculate().
llvm-svn: 42255
2007-09-24 02:29:29 +00:00
Dale Johannesen
acbb26f125
Just use APFloat for const / const. Fixes
...
-1. / -0.
llvm-svn: 42254
2007-09-24 00:32:45 +00:00
Chris Lattner
071107120c
Fix for 64-bit systems.
...
llvm-svn: 42253
2007-09-23 23:53:07 +00:00
Hartmut Kaiser
e675ff918b
Fixed VC++ bitfield to unsigned/signed sign propagation issue.
...
llvm-svn: 42252
2007-09-23 23:39:51 +00:00
Owen Anderson
15efb43db7
Factor the calculation details for PostDomTree out of PostDominators.cpp and
...
into a separate header file.
Next step: merging PostDominatorCalculation.h with DominatorCalculation.h.
llvm-svn: 42251
2007-09-23 22:21:00 +00:00
Owen Anderson
da853a400f
Move DFSPass back down into DominatorTree. I need to figure out what the difference is between it
...
and the PostDomTree version first.
llvm-svn: 42250
2007-09-23 22:16:38 +00:00
Owen Anderson
7888658c5f
Fix header.
...
llvm-svn: 42249
2007-09-23 21:32:55 +00:00
Owen Anderson
84c357fc26
Factor the dominator tree calculation details out into DominatorCalculation.h. This
...
change is not useful in and of itself, but it lays the groundwork for combining
the dominator and postdominator implementations.
Also, factor a few methods that are common to DominatorTree and PostDominatorTree
into DominatorTreeBase. Again, this will make merging the two calculation methods
simpler in the future.
llvm-svn: 42248
2007-09-23 21:31:44 +00:00
Dale Johannesen
ae4bb05103
Implementation of +sse -sse2 has changed; add
...
-sse to preserve intent of this test.
llvm-svn: 42247
2007-09-23 14:58:14 +00:00
Dale Johannesen
e36c400255
Fix PR 1681. When X86 target uses +sse -sse2,
...
keep f32 in SSE registers and f64 in x87. This
is effectively a new codegen mode.
Change addLegalFPImmediate to permit float and
double variants to do different things.
Adjust callers.
llvm-svn: 42246
2007-09-23 14:52:20 +00:00
Gordon Henriksen
9af2d596ed
Fix srcdir <> objdir builds with ocaml 2.10. Downrev versions don't care whether
...
'dir' exists in 'ocamldep -I dir ...', but recent ones demand that it actually
exists.
llvm-svn: 42245
2007-09-23 13:37:44 +00:00
Chris Lattner
0af0591143
fix syntax
...
llvm-svn: 42242
2007-09-22 23:41:15 +00:00
Gordon Henriksen
6ab5c57663
Regenerate.
...
llvm-svn: 42241
2007-09-22 21:36:59 +00:00
Gordon Henriksen
54fd757f4f
Fix for srcdir <> objdir builds.
...
Thanks Bill.
llvm-svn: 42240
2007-09-22 21:36:22 +00:00
Chris Lattner
e48195e0f3
Fix PR1679, by printing GEP indices as signed values instead of unsigned.
...
llvm-svn: 42239
2007-09-22 20:16:48 +00:00
Chris Lattner
322abe3573
Use the APFloat routines to evaluate FP immediates as
...
integer constant expressions. The only questionable
thing is that we now reject:
void foo() {
switch (1) {
case (int)1.0e10000:
;
}
}
with:
t.c:5:13: error: case label does not reduce to an integer constant
case (int)1.0e10000:
~~~~~^~~~~~~~~
GCC accepts this, emitting the pedwarn:
t.c:5: warning: floating constant exceeds range of 'double'
llvm-svn: 42238
2007-09-22 19:04:13 +00:00
Chris Lattner
9da7bc110a
add comments.
...
llvm-svn: 42237
2007-09-22 18:48:32 +00:00
Chris Lattner
2dd003e807
further apfloat'ize the front-end, allowing codegen to pass
...
APFloat straight through to LLVM now.
llvm-svn: 42236
2007-09-22 18:47:25 +00:00
Chris Lattner
c2d09cfe75
work around bugs and missing features in apfloat.
...
llvm-svn: 42235
2007-09-22 18:38:30 +00:00
Chris Lattner
ec0a6d9be5
Use APFloat for the representation of FP immediates, ask the target
...
for *which* apfloat to use for a particular type.
llvm-svn: 42234
2007-09-22 18:29:59 +00:00
Bill Wendling
20e469e99b
Validation fixes
...
llvm-svn: 42232
2007-09-22 10:17:08 +00:00
Bill Wendling
99dbd04c5d
Validation fixes
...
llvm-svn: 42231
2007-09-22 10:13:39 +00:00
Bill Wendling
31e1e5e37a
Validation fixes
...
llvm-svn: 42230
2007-09-22 10:07:00 +00:00
Bill Wendling
bdd6bd8236
Validation fixes
...
llvm-svn: 42229
2007-09-22 10:03:25 +00:00
Bill Wendling
370dac7346
Validation fixes
...
llvm-svn: 42228
2007-09-22 09:56:28 +00:00
Bill Wendling
beee622c4d
Validation fixes
...
llvm-svn: 42227
2007-09-22 09:54:47 +00:00
Bill Wendling
8715e0c490
Validation fixes
...
llvm-svn: 42226
2007-09-22 09:39:19 +00:00
Bill Wendling
252570f0ad
Validation fixes
...
llvm-svn: 42225
2007-09-22 09:23:55 +00:00
Bill Wendling
6637c57c54
Validation fixes
...
llvm-svn: 42224
2007-09-22 09:20:07 +00:00
Bill Wendling
6275c23755
Formatting changes.
...
llvm-svn: 42223
2007-09-22 09:16:44 +00:00
Chris Lattner
10671ad650
initialize isstore/isload fields in ctor, fixing PR1695
...
llvm-svn: 42222
2007-09-22 07:02:12 +00:00
Chris Lattner
5b95a171e2
fix bugs in the manual
...
llvm-svn: 42221
2007-09-22 03:17:52 +00:00
Neil Booth
a8d7269269
Handle storage complications of float->float conversions.
...
llvm-svn: 42220
2007-09-22 02:56:19 +00:00
Tanya Lattner
cf3e26fff2
Correct names.
...
llvm-svn: 42219
2007-09-22 00:03:01 +00:00
Fariborz Jahanian
7e5d533098
This patch adds to new things to clang:
...
1. Handles saving and checking on protocols used in an @interface declaration
2. Checks and saves class's super class.
3. Adds semantic check to category declarations.
llvm-svn: 42218
2007-09-22 00:01:35 +00:00