David Greene
65d2a697dc
Pluggable coalescers inplementation.
...
llvm-svn: 41743
2007-09-06 16:18:45 +00:00
Ted Kremenek
e80505643d
Added libClangAnalysis
...
llvm-svn: 41742
2007-09-06 15:58:13 +00:00
Nick Lewycky
0c5c47944a
Use isTrueWhenEqual. Thanks Chris!
...
llvm-svn: 41741
2007-09-06 02:40:25 +00:00
Nick Lewycky
b0b066eaaa
When the two operands of an icmp are equal, there are five possible predicates
...
that would make the icmp true. Fixes PR1637.
llvm-svn: 41740
2007-09-06 01:10:22 +00:00
Evan Cheng
d059eed1c1
Fix a memory leak.
...
llvm-svn: 41739
2007-09-06 01:07:24 +00:00
Ted Kremenek
b56a990955
Added an early implementation of Live-Variables analysis built on
...
source-level CFGs. This code may change significantly in the near
future as we explore different means to implement dataflow analyses.
Added a driver option, -dump-live-variables, to view the output of
live variable analysis. This output is very ALPHA; it will be improved shortly.
llvm-svn: 41737
2007-09-06 00:17:54 +00:00
Chris Lattner
542a440062
remove the FATAL classifier.
...
llvm-svn: 41736
2007-09-06 00:16:35 +00:00
Evan Cheng
189df733ed
Fix a bug in X86InstrInfo::convertToThreeAddress that caused it to codegen:
...
leal (,%rcx,8), %rcx
It should be
leal (,%rcx,8), %ecx
llvm-svn: 41735
2007-09-06 00:14:41 +00:00
Chris Lattner
aa4b29c52b
remove sorry.
...
llvm-svn: 41734
2007-09-06 00:14:09 +00:00
Bill Wendling
b65ef38590
LVXL and STVXL are also a load and store resp.
...
llvm-svn: 41733
2007-09-05 23:47:12 +00:00
Steve Naroff
ca85d1dc07
Start implementing Actions interface for ObjC classes, instance variables, and methods.
...
Lot's of small changes to the parser.
llvm-svn: 41732
2007-09-05 23:30:30 +00:00
Fariborz Jahanian
bd25f7d4a5
Patch for parsing objective-c style method calls.
...
llvm-svn: 41731
2007-09-05 23:08:20 +00:00
Evan Cheng
26038c3918
Accidentially left this out.
...
llvm-svn: 41730
2007-09-05 21:58:18 +00:00
Evan Cheng
db53aef53e
Use pool allocator for all the VNInfo's to improve memory access locality. This reduces coalescing time on siod Mac OS X PPC by 35%. Also remove the back ptr from VNInfo to LiveInterval and other tweaks.
...
llvm-svn: 41729
2007-09-05 21:46:51 +00:00
Evan Cheng
3dba41bf37
Added Reset() to free all allocated memory regions and reset state to be the same as right after ctor.
...
llvm-svn: 41728
2007-09-05 21:41:34 +00:00
Evan Cheng
19ce37a1cd
Missing break. Patch by Wojciech Matyjewicz.
...
llvm-svn: 41727
2007-09-05 21:36:14 +00:00
Dale Johannesen
728687c423
Fix mod so it actually works. Fix conversions to
...
native types to handle denormals correctly.
llvm-svn: 41726
2007-09-05 20:39:49 +00:00
Chuck Rose III
2320323647
Forgot to obey 80 column rule. Fixing that.
...
llvm-svn: 41725
2007-09-05 20:36:41 +00:00
Ted Kremenek
813dd67a34
Moved tracking of CFG block IDs into the CFG class.
...
Added CFG::getNumBlockIDs() to query the number of distinct block ids created.
llvm-svn: 41724
2007-09-05 20:02:05 +00:00
Fariborz Jahanian
7db004df78
1. Fix parsing of method prototype involving c-style argument declarations.
...
2. Fixes all allowable key-words used as selectors.
3. Template to do the messaging parse.
4. A test case for all allowable selector names.
llvm-svn: 41723
2007-09-05 19:52:07 +00:00
Dale Johannesen
6480cc6f8c
Change all floating constants that are not exactly
...
representable to use hex format.
llvm-svn: 41722
2007-09-05 17:50:36 +00:00
Chuck Rose III
e58572233d
Added default parameters to GetElementPtrInstr constructor call. Visual Studio 2k5 was getting confused and was unable to compile it. Suspected compiler error.
...
llvm-svn: 41721
2007-09-05 16:54:38 +00:00
Duncan Sands
2c0a0fb725
Due to label merging, the last label for an invoke
...
may be the same as the first label for the following
invoke. Remove a micro-optimization which was wrong
in this case.
llvm-svn: 41720
2007-09-05 14:12:46 +00:00
Duncan Sands
6820abe101
Testcases for PR1628.
...
llvm-svn: 41719
2007-09-05 11:53:04 +00:00
Duncan Sands
3c1b7fc056
Fix PR1628. When exception handling is turned on,
...
labels are generated bracketing each call (not just
invokes). This is used to generate entries in
the exception table required by the C++ personality.
However it gets in the way of tail-merging. This
patch solves the problem by no longer placing labels
around ordinary calls. Instead we generate entries
in the exception table that cover every instruction
in the function that wasn't covered by an invoke
range (the range given by the labels around the invoke).
As an optimization, such entries are only generated for
parts of the function that contain a call, since for
the moment those are the only instructions that can
throw an exception [1]. As a happy consequence, we
now get a smaller exception table, since the same
region can cover many calls. While there, I also
implemented folding of invoke ranges - successive
ranges are merged when safe to do so. Finally, if
a selector contains only a cleanup, there's a special
shorthand for it - place a 0 in the call-site entry.
I implemented this while there. As a result, the
exception table output (excluding filters) is now
optimal - it cannot be made smaller [2]. The
problem with throw filters is that folding them
optimally is hard, and the benefit of folding them is
minimal.
[1] I tested that having trapping instructions (eg
divide by zero) in such a region doesn't cause trouble.
[2] It could be made smaller with the help of higher
layers, eg by having branch folding reorder basic blocks
ending in invokes with the same landing pad so they
follow each other. I don't know if this is worth doing.
llvm-svn: 41718
2007-09-05 11:27:52 +00:00
Bill Wendling
b9bf812ba5
Add the 64-bit versions of the DS* Altivec instructions.
...
llvm-svn: 41717
2007-09-05 04:05:20 +00:00
Fariborz Jahanian
7eccba3b8e
Fixed a typo pointed out by Anders Calrsson.
...
llvm-svn: 41716
2007-09-04 21:42:12 +00:00
Steve Naroff
67ae443954
Simplified initializer semantic analysis by adding the following 2 methods:
...
- ArrayType::getBaseType(), and
- ConstantArrayType::getMaximumElements().
Wanted to do this cleanup before adding structure support, which will add more complexity.
llvm-svn: 41715
2007-09-04 21:13:33 +00:00
Devang Patel
42e2abe0e8
Enable loop index split pass.
...
llvm-svn: 41714
2007-09-04 20:46:58 +00:00
Devang Patel
f6ef552f3d
Insert cloned loop basic blocks before original loop header.
...
llvm-svn: 41713
2007-09-04 20:46:35 +00:00
Evan Cheng
e0cb6bb8da
Fix for PR1632. EHSELECTION always produces a i32 value.
...
llvm-svn: 41712
2007-09-04 20:39:26 +00:00
Evan Cheng
4dbd9f254a
Fix for PR1613: added 64-bit rotate left PPC instructions and patterns.
...
llvm-svn: 41711
2007-09-04 20:20:29 +00:00
Evan Cheng
20711a8b9a
Always check the type of node. This prevents situations such as selecting 32-bit rotate target instruction for a 64-bit node when 64-bit pattern is missing.
...
llvm-svn: 41710
2007-09-04 20:18:28 +00:00
Fariborz Jahanian
d8e12d3df3
Patch to parse objective-c's @compatibility_alias directive.
...
llvm-svn: 41709
2007-09-04 19:26:51 +00:00
Hartmut Kaiser
d9a1de4c72
Set eol and mime type properties for VC8 build files
...
llvm-svn: 41708
2007-09-04 19:15:17 +00:00
Hartmut Kaiser
db48641837
Updated VC8 project files.
...
llvm-svn: 41707
2007-09-04 19:06:30 +00:00
David Greene
85948d7474
Update generated files.
...
llvm-svn: 41706
2007-09-04 18:46:50 +00:00
Dale Johannesen
427faa9247
fix reversal bug in preceding checkin
...
llvm-svn: 41705
2007-09-04 17:32:27 +00:00
Ted Kremenek
c81587d240
Updated calls to CreateGEP to new interface in LLVM mainline.
...
llvm-svn: 41704
2007-09-04 17:20:08 +00:00
David Greene
9bf8760a52
Revert this because the interface hasn't been updated yet.
...
llvm-svn: 41703
2007-09-04 17:15:07 +00:00
David Greene
4f4dc729d4
Fix typo.
...
llvm-svn: 41702
2007-09-04 17:00:44 +00:00
Chris Lattner
73ab7fa9c6
disable this for now.
...
llvm-svn: 41701
2007-09-04 16:49:09 +00:00
Evan Cheng
623dd88775
Mac OS X X86-64 ABI is same as the standard.
...
llvm-svn: 41700
2007-09-04 16:44:41 +00:00
David Greene
c656cbb8c2
Update GEP constructors to use an iterator interface to fix
...
GLIBCXX_DEBUG issues.
llvm-svn: 41697
2007-09-04 15:46:09 +00:00
Steve Naroff
77b97002e9
Make sure initializer type promotions get propagated.
...
This fixes a recent regression with Codegen/mandel.c.
llvm-svn: 41696
2007-09-04 14:36:54 +00:00
Chris Lattner
7717c56b4f
updates (?) to the vc++ files, patch by Hartmut Kaiser
...
llvm-svn: 41695
2007-09-04 02:46:31 +00:00
Chris Lattner
0dc165b5f1
silence VC++ warnings, patch by Hartmut Kaiser
...
llvm-svn: 41694
2007-09-04 02:46:00 +00:00
Chris Lattner
9cf21c5a2c
Silence VC++ warnings, patch by Hartmut Kaiser
...
llvm-svn: 41693
2007-09-04 02:45:27 +00:00
Chris Lattner
fb2eb6941a
eliminate some VC++ warnings, patch contributed by Hartmut Kaiser
...
llvm-svn: 41692
2007-09-04 02:34:27 +00:00
Chris Lattner
e15fa6c89c
add a VC++ solution file, contributed by Hartmut Kaiser
...
llvm-svn: 41691
2007-09-04 02:31:11 +00:00