| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix constant folding to deal with external weak global values. | Reid Spencer | 2006-12-06 | 1 | -14/+22 |
| | | | | | llvm-svn: 32247 | ||||
| * | Can't make these fail now with just BitCast. Previous failures must have | Reid Spencer | 2006-12-05 | 1 | -2/+2 |
| | | | | | | | | been in conjunction with something else. By right, they should just be BitCasts. llvm-svn: 32219 | ||||
| * | Remove the last inferred casts from VMCore. | Reid Spencer | 2006-12-05 | 1 | -10/+7 |
| | | | | | llvm-svn: 32213 | ||||
| * | For PR950: Implement a stub for folding ICmp and FCmp instructions | Reid Spencer | 2006-12-04 | 1 | -0/+7 |
| | | | | | llvm-svn: 32169 | ||||
| * | Change inferred casts to explicit casts. | Reid Spencer | 2006-12-04 | 1 | -12/+23 |
| | | | | | llvm-svn: 32165 | ||||
| * | These should be rewritten to fold without using the 'Rules' mechanism, but | Chris Lattner | 2006-12-01 | 1 | -0/+3 |
| | | | | | | | | until this happens at least make sext from bool and sitofp from bool do the right thing. llvm-svn: 32087 | ||||
| * | this logic is broken for trunc to bool, replace the folding logic for trunc | Chris Lattner | 2006-12-01 | 1 | -5/+8 |
| | | | | | | | | completely, as it is trivial. We should probably do this for the rest of the cast operations. This fixes ConstProp/2006-12-01-TruncBoolBug.ll. llvm-svn: 32081 | ||||
| * | Fix a typo introduced by the cast patch that horribly broke a lot of vector | Chris Lattner | 2006-12-01 | 1 | -1/+1 |
| | | | | | | | code. Testcase here: Transforms/ConstProp/2006-11-30-vector-cast.ll llvm-svn: 32062 | ||||
| * | Don't fold "ptrtoint GV to bool" since this should be doing a truncate not | Reid Spencer | 2006-12-01 | 1 | -7/+27 |
| | | | | | | | | a comparison against zero. Instead fold setne(GV,null) and seteq(GV,null) to ConstantBool::True or ConstantBool::False, respectively. llvm-svn: 32060 | ||||
| * | Introducing external weak linkage. Darwin codegen should be added later. | Anton Korobeynikov | 2006-12-01 | 1 | -5/+2 |
| | | | | | llvm-svn: 32052 | ||||
| * | For PR950: | Reid Spencer | 2006-11-27 | 1 | -104/+194 |
| | | | | | | | | | | | The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931 | ||||
| * | Remove redundant <cmath>. | Jim Laskey | 2006-11-08 | 1 | -1/+0 |
| | | | | | llvm-svn: 31561 | ||||
| * | For PR950: | Reid Spencer | 2006-11-08 | 1 | -29/+33 |
| | | | | | | | | | This patch converts the old SHR instruction into two instructions, AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not dependent on the sign of their operands. llvm-svn: 31542 | ||||
| * | Remove unused variables. | Reid Spencer | 2006-11-02 | 1 | -6/+5 |
| | | | | | llvm-svn: 31375 | ||||
| * | For PR950: | Reid Spencer | 2006-11-02 | 1 | -34/+58 |
| | | | | | | | Replace the REM instruction with UREM, SREM and FREM. llvm-svn: 31369 | ||||
| * | For PR950: | Reid Spencer | 2006-10-26 | 1 | -26/+56 |
| | | | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195 | ||||
| * | For PR950: | Reid Spencer | 2006-10-20 | 1 | -139/+170 |
| | | | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063 | ||||
| * | Fix another dtor issue. The function local statics in this function were | Chris Lattner | 2006-10-13 | 1 | -32/+42 |
| | | | | | | | | being destroyed at inconvenient times. Switch to using non-local ManagedStatic objects, which actually also speeds up ConstRules::get. llvm-svn: 30931 | ||||
| * | Eliminate ConstantBool::True and ConstantBool::False. Instead, ↵ | Chris Lattner | 2006-09-28 | 1 | -17/+15 |
| | | | | | | | provideConstantBool::getTrue() and ConstantBool::getFalse(). llvm-svn: 30664 | ||||
| * | Add new SetCondInst::isRelational/isEquality methods. Rename | Chris Lattner | 2006-09-17 | 1 | -1/+1 |
| | | | | | | | Instruction::isRelational to Instruction::isComparison. llvm-svn: 30444 | ||||
| * | s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| | Chris Lattner | 2006-08-27 | 1 | -1/+1 |
| | | | | | llvm-svn: 29911 | ||||
| * | Use hidden visibility to reduce the sizes of some .o files. This chops 60K ↵ | Chris Lattner | 2006-06-28 | 1 | -12/+17 |
| | | | | | | | off a release llvm-dis. llvm-svn: 28969 | ||||
| * | Add more anonymous namespaces to make it clear that these are private classes | Chris Lattner | 2006-06-21 | 1 | -1/+18 |
| | | | | | llvm-svn: 28901 | ||||
| * | Add shufflevector support, todo, implement better constant folding. | Chris Lattner | 2006-04-08 | 1 | -0/+8 |
| | | | | | llvm-svn: 27510 | ||||
| * | Constant fold extractelement(zero, x) -> zero | Chris Lattner | 2006-04-07 | 1 | -0/+3 |
| | | | | | llvm-svn: 27479 | ||||
| * | Constant fold casts from things like <4 x int> -> <4 x uint>, likewise int<->fp. | Chris Lattner | 2006-04-02 | 1 | -0/+108 |
| | | | | | llvm-svn: 27336 | ||||
| * | constant fold extractelement with undef operands. | Chris Lattner | 2006-03-31 | 1 | -1/+7 |
| | | | | | llvm-svn: 27301 | ||||
| * | VMCore support for the insertelement operation. | Robert Bocchino | 2006-01-17 | 1 | -0/+57 |
| | | | | | llvm-svn: 25408 | ||||
| * | Added constant folding support for the extractelement operation. | Robert Bocchino | 2006-01-10 | 1 | -0/+10 |
| | | | | | llvm-svn: 25187 | ||||
| * | Implement a few symbolic constant folding things. X ? Y : Y is Y. | Chris Lattner | 2006-01-05 | 1 | -7/+32 |
| | | | | | | | | | | | | | | Fold: seteq ({ short }* cast (int 1 to { short }*), { short }* null) setlt ({ short }* cast (int 1 to { short }*), { short }* cast (int 2 to { short }*)) to false/true. These last two commonly occur in the output of compilers that tag integers, like cozmic's scheme compiler. Tested by Regression/Assembler/ConstantExprFold.llx llvm-svn: 25112 | ||||
| * | fix some formatting problems | Chris Lattner | 2006-01-05 | 1 | -7/+7 |
| | | | | | llvm-svn: 25110 | ||||
| * | implement constant folding of ==/!= on constant packed, simplify some code. | Chris Lattner | 2006-01-04 | 1 | -3/+11 |
| | | | | | llvm-svn: 25074 | ||||
| * | implement constant folding for the element-wise binary operations | Chris Lattner | 2006-01-04 | 1 | -0/+50 |
| | | | | | llvm-svn: 25073 | ||||
| * | don't crash when trying to constant fold packed expressions. | Chris Lattner | 2006-01-04 | 1 | -0/+29 |
| | | | | | llvm-svn: 25072 | ||||
| * | Use ANSI-approved way of getting the value infinity (otherwise VC++ won't ↵ | Jeff Cohen | 2005-05-03 | 1 | -3/+4 |
| | | | | | | | compile it) llvm-svn: 21662 | ||||
| * | fold fp div by 0 to inf, the way gcc does. This is legal according to the ↵ | Andrew Lenharth | 2005-05-02 | 1 | -0/+7 |
| | | | | | | | FP spec llvm-svn: 21655 | ||||
| * | Shut GCC 4.0 up about classes with virtual functions but no virtual | Reid Spencer | 2005-04-24 | 1 | -0/+5 |
| | | | | | | | destructor. llvm-svn: 21510 | ||||
| * | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -40/+40 |
| | | | | | llvm-svn: 21427 | ||||
| * | Fix a nasty thinko in my previous commit. | Chris Lattner | 2005-01-28 | 1 | -1/+1 |
| | | | | | llvm-svn: 19881 | ||||
| * | Fix ConstProp/2005-01-28-SetCCGEP.ll: indexing over zero sized elements does | Chris Lattner | 2005-01-28 | 1 | -5/+36 |
| | | | | | | | not change the address. llvm-svn: 19874 | ||||
| * | No need to pessimize current code for future possibilities. | Chris Lattner | 2005-01-06 | 1 | -4/+3 |
| | | | | | llvm-svn: 19311 | ||||
| * | Fix test/Regression/CFrontend/2003-11-01-EmptyStructCrash.c | Chris Lattner | 2004-11-22 | 1 | -0/+1 |
| | | | | | llvm-svn: 18115 | ||||
| * | Generalize this code to turn any cast-to-first-element-of into a gep constexpr | Chris Lattner | 2004-11-17 | 1 | -8/+21 |
| | | | | | llvm-svn: 17914 | ||||
| * | fold gep undef, ... -> undef | Chris Lattner | 2004-10-17 | 1 | -1/+8 |
| | | | | | | | This comes up many times in perlbmk and probably others. llvm-svn: 17100 | ||||
| * | Fix constant folding relational operators with undef operands. | Chris Lattner | 2004-10-17 | 1 | -7/+4 |
| | | | | | llvm-svn: 17077 | ||||
| * | Implement constant folding of undef values. | Chris Lattner | 2004-10-16 | 1 | -4/+54 |
| | | | | | llvm-svn: 17070 | ||||
| * | Allow creation of GEP constantexprs with a vector of value* operands as | Chris Lattner | 2004-10-11 | 1 | -15/+16 |
| | | | | | | | | well as a vector of constant*'s. It turns out that this is more efficient and all of the clients want to do that, so we should cater to them. llvm-svn: 16923 | ||||
| * | If we are trying to create a ConstantExpr cast that is really a GEP to the | Chris Lattner | 2004-10-11 | 1 | -0/+11 |
| | | | | | | | | | | | | | | first element of an array, return a GEP instead of a cast. This allows us to transparently fold this: int* getelementptr (int* cast ([100 x int]* %Gbody to int*), int 40) into this: int* getelementptr ([100 x int]* %Gbody, int 0, int 40) llvm-svn: 16911 | ||||
| * | bug 122: | Reid Spencer | 2004-07-17 | 1 | -23/+20 |
| | | | | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Minimize redundant isa<GlobalValue> usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14927 | ||||
| * | Implement folding of expressions like 'uint cast (int* getelementptr (int* | Chris Lattner | 2004-07-15 | 1 | -0/+12 |
| | | | | | | | | null, uint 1) to uint)' to a constant integer. We can only do this with primitive LLVM types, because other types have target-specific sizes. llvm-svn: 14837 | ||||

