- Sep 06, 2007
-
-
David Greene authored
Constify to catch bugs. llvm-svn: 41751
-
Dale Johannesen authored
Use APFloat in UpgradeParser and AsmParser. Change all references to ConstantFP to use the APFloat interface rather than double. Remove the ConstantFP double interfaces. Use APFloat functions for constant folding arithmetic and comparisons. (There are still way too many places APFloat is just a wrapper around host float/double, but we're getting there.) llvm-svn: 41747
-
Anton Korobeynikov authored
Also, fix a case, when target doesn't have weak symbols supported. llvm-svn: 41746
-
David Greene authored
Add instruction dump output. This helps find bugs. llvm-svn: 41744
-
David Greene authored
Pluggable coalescers inplementation. llvm-svn: 41743
-
Nick Lewycky authored
llvm-svn: 41741
-
Nick Lewycky authored
that would make the icmp true. Fixes PR1637. llvm-svn: 41740
-
Evan Cheng authored
llvm-svn: 41739
-
Evan Cheng authored
leal (,%rcx,8), %rcx It should be leal (,%rcx,8), %ecx llvm-svn: 41735
-
Bill Wendling authored
llvm-svn: 41733
-
- Sep 05, 2007
-
-
Evan Cheng authored
llvm-svn: 41730
-
Evan Cheng authored
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
-
Evan Cheng authored
Added Reset() to free all allocated memory regions and reset state to be the same as right after ctor. llvm-svn: 41728
-
Evan Cheng authored
llvm-svn: 41727
-
Dale Johannesen authored
native types to handle denormals correctly. llvm-svn: 41726
-
Chuck Rose III authored
llvm-svn: 41725
-
Dale Johannesen authored
representable to use hex format. llvm-svn: 41722
-
Chuck Rose III authored
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
-
Duncan Sands authored
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
-
Duncan Sands authored
llvm-svn: 41719
-
Duncan Sands authored
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
-
Bill Wendling authored
llvm-svn: 41717
-
- Sep 04, 2007
-
-
Devang Patel authored
llvm-svn: 41714
-
Devang Patel authored
llvm-svn: 41713
-
Evan Cheng authored
llvm-svn: 41712
-
Evan Cheng authored
llvm-svn: 41711
-
Evan Cheng authored
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
-
David Greene authored
Update generated files. llvm-svn: 41706
-
Dale Johannesen authored
llvm-svn: 41705
-
David Greene authored
Revert this because the interface hasn't been updated yet. llvm-svn: 41703
-
David Greene authored
Fix typo. llvm-svn: 41702
-
Evan Cheng authored
llvm-svn: 41700
-
David Greene authored
Update GEP constructors to use an iterator interface to fix GLIBCXX_DEBUG issues. llvm-svn: 41697
-
- Sep 03, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 41680
-
Anton Korobeynikov authored
llvm-svn: 41676
-
Anton Korobeynikov authored
Emit proper "secrel" directive, where possible. This fixes invalid asm syntax of debug info on mingw32. Also, cleanup some stuff. llvm-svn: 41675
-
- Sep 01, 2007
-
-
Evan Cheng authored
llvm-svn: 41669
-
Evan Cheng authored
llvm-svn: 41668
-
Dale Johannesen authored
llvm-svn: 41665
-
Dale Johannesen authored
Implement some constant folding in SelectionDAG and DAGCombiner using APFloat. Remove double versions of constructor and getValue from ConstantFPSDNode. llvm-svn: 41664
-