summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR1146: parameter attributes are longer part ofDuncan Sands2007-11-276-97/+105
| | | | | | | | | | | | the function type, instead they belong to functions and function calls. This is an updated and slightly corrected version of Reid Spencer's original patch. The only known problem is that auto-upgrading of bitcode files doesn't seem to work properly (see test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully a bitcode guru (who might that be? :) ) will fix it. llvm-svn: 44359
* Fix PR1816. If a bitcast of a function only exists because of aDuncan Sands2007-11-252-31/+51
| | | | | | | | | trivial difference in function attributes, allow calls to it to be converted to direct calls. Based on a patch by Török Edwin. While there, move the various lists of mutually incompatible parameters etc out of the verifier and into ParameterAttributes.h. llvm-svn: 44315
* Rename the 'const' parameter attribute to 'readnone',Duncan Sands2007-11-222-6/+6
| | | | | | | and the 'pure' parameter attribute to 'readonly'. Names suggested by DannyB. llvm-svn: 44273
* In order for parameter attribute uniquing to makeDuncan Sands2007-11-201-2/+6
| | | | | | | | | | | | any sense it is important that ParamAttr::None gets treated the same as not supplying an attribute at all. Rather than stripping ParamAttr::None out of the list of attributes, assert if ParamAttr::None is seen. Fix up the bitcode reader which liked to insert ParamAttr::None all over the place. Patch based on one by Török Edwin. llvm-svn: 44250
* Remove meaningless qualifiers from return types, avoiding compiler warnings.Dan Gohman2007-11-191-1/+1
| | | | llvm-svn: 44240
* print a call to a fastcc function as:Chris Lattner2007-11-181-2/+2
| | | | | | | | | | call x86_fastcallcc void @func( i32* %X, i64 0 ) not: callx86_fastcallcc void @func( i32* %X, i64 0 ) This fixes Codegen/X86/fast-cc-merge-stack-adj.ll llvm-svn: 44217
* Add support for vectors to int <-> float casts.Nate Begeman2007-11-174-17/+91
| | | | llvm-svn: 44204
* Basic non-power-of-2 vector supportNate Begeman2007-11-151-1/+0
| | | | llvm-svn: 44181
* I discover array_lengthof, thanks to gabor on #llvm.Duncan Sands2007-11-141-2/+1
| | | | llvm-svn: 44139
* Simplify the attribute verification code.Duncan Sands2007-11-141-34/+24
| | | | llvm-svn: 44116
* Add pure/const attributes. Documentation will follow.Anton Korobeynikov2007-11-142-4/+17
| | | | llvm-svn: 44109
* Don't barf on empty basic blocks. Do not rely on assertDuncan Sands2007-11-011-9/+21
| | | | | | | | | | doing something - this needs to work for release builds too. I chose to just abort rather than following the fancy logic of abortIfBroken, because (1) it is a pain to do otherwise, and (2) nothing is going to work if the module is this broken. llvm-svn: 43611
* remove verifier command line option: this should be part of the API, notChris Lattner2007-11-011-11/+0
| | | | | | a command line optn. llvm-svn: 43603
* Now with less tabs!Owen Anderson2007-11-011-5/+5
| | | | llvm-svn: 43601
* Fix InstCombine/2007-10-31-StringCrash.ll by removing an obviousChris Lattner2007-11-011-12/+8
| | | | | | (in hindsight) infinite recursion. Simplify the code. llvm-svn: 43597
* Fix a regression in test/CodeGen/X86/2007-04-24-VectorCrash.ll introducedDan Gohman2007-10-311-4/+3
| | | | | | | by r43510. Gracefully handle constants with vector type that aren't ConstantVector or ConstantAggregateZero. llvm-svn: 43579
* Add a preverifier pass to check that every basic block ends in a terminator, ↵Owen Anderson2007-10-311-1/+20
| | | | | | so that we don't segfault when verifying invalid code. llvm-svn: 43578
* Add support for folding binary operators with vector zero operands.Dan Gohman2007-10-301-19/+29
| | | | llvm-svn: 43510
* I am not sure this is a good idea to be an option, but rename the option forChris Lattner2007-10-291-1/+1
| | | | | | now. It conflicts with clang's -pedantic flag. llvm-svn: 43431
* Add 'pedantic' mode to verifier rejecting syntactically valid, but 'bad' due ↵Anton Korobeynikov2007-10-281-3/+14
| | | | | | to other reasons code llvm-svn: 43424
* Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than ↵Owen Anderson2007-10-231-11/+1
| | | | | | inheriting from it. llvm-svn: 43259
* The #include <iterator> isn't needed in this header.Dan Gohman2007-10-221-3/+0
| | | | llvm-svn: 43232
* this doesn't need dynamic_cast.Chris Lattner2007-10-181-1/+1
| | | | llvm-svn: 43133
* Reduce reliance on rtti infoChris Lattner2007-10-181-2/+1
| | | | llvm-svn: 43130
* fix typoChris Lattner2007-10-181-1/+1
| | | | llvm-svn: 43129
* Define a helper function ConstantVector::getSplatValue for testing forDan Gohman2007-10-171-0/+11
| | | | | | and working with broadcasted constants. llvm-svn: 43076
* Move splitBlock into DomTreeBase from DomTree.Owen Anderson2007-10-171-82/+0
| | | | llvm-svn: 43059
* Disable attempts to constant fold PPC f128.Dale Johannesen2007-10-161-0/+4
| | | | | | | Remove the assumption that this will happen from various places. llvm-svn: 43053
* Template DominatorTreeBase by node type. This is the next major step towardsOwen Anderson2007-10-161-199/+5
| | | | | | having dominator information on MBB's. llvm-svn: 43036
* Initial infrastructure for arbitrary precision integerDuncan Sands2007-10-161-15/+7
| | | | | | | | | | codegen support. This should have no effect on codegen for other types. Debatable bits: (1) the use (abuse?) of a set in SDNode::getValueTypeList; (2) the length of getTypeToTransformTo, which maybe should be refactored with a non-inline part for extended value types. llvm-svn: 43030
* avoid an APFloat copy.Chris Lattner2007-10-151-1/+1
| | | | llvm-svn: 42979
* Disable some compile-time optimizations on PPCDale Johannesen2007-10-141-0/+12
| | | | | | long double. llvm-svn: 42958
* Next PPC long double bits. First cut at constants.Dale Johannesen2007-10-112-2/+13
| | | | | | | | | No compile-time support for constant operations yet, just format transformations. Make readers and writers work. Split constants into 2 doubles in Legalize. llvm-svn: 42865
* C and Objective Caml bindings for PHINode::addIncoming etc.Gordon Henriksen2007-10-081-1/+21
| | | | llvm-svn: 42760
* Remove debugging printf to get build going on x86-64.Evan Cheng2007-10-081-2/+0
| | | | llvm-svn: 42757
* Add explicit keywords.Dan Gohman2007-10-081-5/+7
| | | | llvm-svn: 42747
* Begin the process of allowing DomTree on MBB's. Step One: template ↵Owen Anderson2007-10-081-16/+0
| | | | | | DomTreeNode by making it a typedef of a templated DomTreeNodeBase. llvm-svn: 42743
* C and Objective Caml bindings for getFunction and getNamedGlobal. Also enhancedGordon Henriksen2007-10-081-0/+8
| | | | | | | the Objective Caml 'declare_*' functions to behave more or less like getOrInsertFunction. llvm-svn: 42740
* C and Objective Caml bindings for GlobalVariable::isConstant.Gordon Henriksen2007-10-071-0/+11
| | | | llvm-svn: 42736
* convertFromInteger, as originally written, expected sign-extendedNeil Booth2007-10-071-1/+1
| | | | | | | | input. APInt unfortunately zero-extends signed integers, so Dale modified the function to expect zero-extended input. Make this assumption explicit in the function name. llvm-svn: 42732
* C and Objective Caml bindings for PATypeHolder.Gordon Henriksen2007-10-071-0/+18
| | | | llvm-svn: 42713
* Adopting a uniform naming convention for type constructors in bindings.Gordon Henriksen2007-10-061-10/+10
| | | | llvm-svn: 42698
* Adopting a uniform naming convention for constant constructors in bindings.Gordon Henriksen2007-10-061-13/+12
| | | | llvm-svn: 42697
* Adding C and Ocaml bindings for ConstantExpr.Gordon Henriksen2007-10-062-2/+203
| | | | llvm-svn: 42696
* Wrapping Value::dump.Gordon Henriksen2007-10-061-0/+4
| | | | llvm-svn: 42668
* Removing the silly CHelpers header by rolling wrap and unwrap into the CGordon Henriksen2007-10-051-14/+0
| | | | | | bindings headers themselves, hidden behind #ifdef __cplusplus. llvm-svn: 42666
* Fix bug in updating dominance frontier after loop Devang Patel2007-10-051-2/+5
| | | | | | | unswitch when frontier includes basic blocks that are not inside loop. llvm-svn: 42654
* Completely merge the implementation details of DomTree and PostDomTree.Owen Anderson2007-10-032-108/+5
| | | | | | Also, add a FIXME for a bug in PostDomTree calculation I noticed while writing this, llvm-svn: 42593
* Use empty() member functions when that's what's being tested for insteadDan Gohman2007-10-031-2/+2
| | | | | | of comparing begin() and end(). llvm-svn: 42585
* Fix a using namespace llvm; in a header file.Dan Gohman2007-10-031-0/+1
| | | | llvm-svn: 42584
OpenPOWER on IntegriCloud