summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Phi nodes always use an even number of operands, so don't ever allocateJay Foad2011-04-111-1/+2
| | | | | | an odd number. llvm-svn: 129270
* Revert r129235 pending a vetting of the EH rewrite.Bill Wendling2011-04-107-49/+14
| | | | | | | | | | | | | | | | --- Reverse-merging r129235 into '.': D test/Feature/bb_attrs.ll U include/llvm/BasicBlock.h U include/llvm/Bitcode/LLVMBitCodes.h U lib/VMCore/AsmWriter.cpp U lib/VMCore/BasicBlock.cpp U lib/AsmParser/LLParser.cpp U lib/AsmParser/LLLexer.cpp U lib/AsmParser/LLToken.h U lib/Bitcode/Reader/BitcodeReader.cpp U lib/Bitcode/Writer/BitcodeWriter.cpp llvm-svn: 129259
* Bugfix in the Cpp backend after API change on PHINode::Create.Nicolas Geoffray2011-04-101-1/+1
| | | | llvm-svn: 129248
* Beginning of the Great Exception Handling Rewrite.Bill Wendling2011-04-107-14/+49
| | | | | | | | | | | | | * Add a "landing pad" attribute to the BasicBlock. * Modify the bitcode reader and writer to handle said attribute. Later: The verifier will ensure that the landing pad attribute is used in the appropriate manner. I.e., not applied to the entry block, and applied only to basic blocks that are branched to via a `dispatch' instruction. (This is a work-in-progress.) llvm-svn: 129235
* fix rdar://8735979 - "int 3" doesn't match to "int3". Unfortunately,Chris Lattner2011-04-092-0/+19
| | | | | | | InstAlias doesn't allow matching immediate operands, so we have to write C++ code to do this. llvm-svn: 129223
* Fix potential buffer overflow on win32.Benjamin Kramer2011-04-091-12/+9
| | | | llvm-svn: 129214
* Don't store Twine temporaries, it's not safe.Benjamin Kramer2011-04-091-8/+6
| | | | | | And don't append the name over and over again in the loop. llvm-svn: 129210
* Make error message more useful.Benjamin Kramer2011-04-091-2/+2
| | | | llvm-svn: 129209
* Add back a couple checks removed by r129128; the fact that an intitializerEli Friedman2011-04-091-4/+6
| | | | | | | is an array of structures doesn't imply it's a ConstantArray of ConstantStruct. llvm-svn: 129207
* fix PR9523, a crash in looprotate on a non-canonical loop made out of ↵Chris Lattner2011-04-091-1/+5
| | | | | | indirectbr. llvm-svn: 129203
* Fix a bug where RecursivelyDeleteTriviallyDeadInstructions couldChris Lattner2011-04-091-3/+18
| | | | | | | delete the instruction pointed to by CGP's current instruction iterator, leading to a crash on the testcase. This fixes PR9578. llvm-svn: 129200
* Avoid excess precision issues that lead to generating host-compiler-specific ↵Chris Lattner2011-04-091-2/+6
| | | | | | | | code. Switch lowering probably shouldn't be using FP for this. This resolves PR9581. llvm-svn: 129199
* PR9604; try to deal with RAUW updates correctly in the AST. I'm not convincedEli Friedman2011-04-091-0/+4
| | | | | | | it's completely safe to cache the AST across LICM runs even with this fix, but this fix can't hurt. llvm-svn: 129198
* regexes are allowed to match empty things, e.g. {{.*}} in filecheck.Chris Lattner2011-04-091-1/+1
| | | | llvm-svn: 129193
* Build the Hopfield network incrementally when splitting global live ranges.Jakob Stoklund Olesen2011-04-096-84/+176
| | | | | | | | | It is common for large live ranges to have few basic blocks with register uses and many live-through blocks without any uses. This approach grows the Hopfield network incrementally around the use blocks, completely avoiding checking interference for some through blocks. llvm-svn: 129188
* Precompute interference for neighbor blocks as long as there is no interference.Jakob Stoklund Olesen2011-04-092-22/+37
| | | | | | This doesn't require seeking in the live interval union, so it is very cheap. llvm-svn: 129187
* have dag combine zap "store undef", which can be formed during call loweringChris Lattner2011-04-091-2/+8
| | | | | | with undef arguments. llvm-svn: 129185
* Redirected errors from the AsmParser to the properSean Callanan2011-04-091-0/+10
| | | | | | | | | error stream, in cases where the AsmParser is being invoked by EDDisassembler. Before, they were being sent to errs() because no error handler was installed in the SourceMgr. llvm-svn: 129177
* Simplify array bound checks and clarify comments. One element array can ↵Devang Patel2011-04-081-10/+7
| | | | | | have same non-zero number as lower bound as well as upper bound. llvm-svn: 129170
* Add a function for profiling to run at shutdown. Unlike the existing API, thisNick Lewycky2011-04-082-3/+40
| | | | | | | can be used even when main() isn't present in the Module, but it means that you don't get to read argv[]. llvm-svn: 129163
* Fix an apparent typo that made GCC complainMatt Beaumont-Gay2011-04-081-1/+1
| | | | llvm-svn: 129160
* Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.Devang Patel2011-04-081-3/+15
| | | | | | | | If lower bound is more then upper bound then consider it is an unbounded array. An array is unbounded if non-zero lower bound is same as upper bound. If lower bound and upper bound are zero than array has one element. llvm-svn: 129156
* Change -arm-trap-func= into a non-arm specific option. Now Intrinsic::trap ↵Evan Cheng2011-04-083-25/+27
| | | | | | is lowered into a call to the specified trap function at sdisel time. llvm-svn: 129152
* Workaround g++ 4.2.1 warning diagnostic false positive.Jim Grosbach2011-04-081-2/+2
| | | | llvm-svn: 129149
* Check opcoe (dmb, dsb) instead of bitfields matching.Johnny Chen2011-04-081-12/+1
| | | | llvm-svn: 129148
* Hanlde the checking of bad regs for SMMLAR properly, instead of asserting.Johnny Chen2011-04-081-9/+10
| | | | | | | PR9650 rdar://problem/9257565 llvm-svn: 129147
* Sanity check the option operand for DMB/DSB.Johnny Chen2011-04-082-8/+29
| | | | | | | PR9648 rdar://problem/9257634 llvm-svn: 129146
* Mark hasExtraDefRegAllocReq=1 on LDRD.Jim Grosbach2011-04-081-1/+5
| | | | | | | | | The previous cleanup of LDRD got overzealous and removed it, causing post-RA scheduling to get overzealous in breaking antidependencies and invalidate these instructions. Hilarity and invalid assembly ensued. rdar://9244161 llvm-svn: 129144
* Refactor MCJIT 32-bit section loading.Jim Grosbach2011-04-082-82/+67
| | | | | | | Teach 32-bit section loading to use the Memory Manager interface, just like the 64-bit loading does. Tidy up a few other things here and there. llvm-svn: 129138
* llvm.global_[cd]tor is defined to be either external, or appending with an arrayNick Lewycky2011-04-084-37/+33
| | | | | | | of { i32, void ()* }. Teach the verifier to verify that, deleting copies of checks strewn about. llvm-svn: 129128
* Add sanity checking for bad register specifier(s) for the DPFrm instructions.Johnny Chen2011-04-081-0/+30
| | | | | | Add more test cases to exercise the logical branches related to the above change. llvm-svn: 129117
* Micro optimization and improved similarity with gas' output:Rafael Espindola2011-04-071-10/+38
| | | | | | When two section names share a suffix, reuse the entry in shstrtab. llvm-svn: 129115
* Do not let debug info interfer with branch folding.Devang Patel2011-04-071-0/+6
| | | | llvm-svn: 129114
* Replace the old algorithm that emitted the "print the alias for an instruction"Bill Wendling2011-04-074-5/+22
| | | | | | | | | | | | | with the newer, cleaner model. It uses the IAPrinter class to hold the information that is needed to match an instruction with its alias. This also takes into account the available features of the platform. There is one bit of ugliness. The way the logic determines if a pattern is unique is O(N**2), which is gross. But in reality, the number of items it's checking against isn't large. So while it's N**2, it shouldn't be a massive time sink. llvm-svn: 129110
* Add option to emit @llvm.trap as a function call instead of a trap ↵Evan Cheng2011-04-071-1/+23
| | | | | | instruction. rdar://9249183. llvm-svn: 129107
* Add support for .skip.Rafael Espindola2011-04-071-1/+1
| | | | | | | Patch by Roman Divacky. Fixes PR9361. llvm-svn: 129106
* Fix indentation.Akira Hatanaka2011-04-071-2/+2
| | | | llvm-svn: 129105
* Update ATUsed every time after expandRegLargeImmPair is called.Akira Hatanaka2011-04-071-4/+8
| | | | llvm-svn: 129104
* Fixed encoding for VEXTqfMon P Wang2011-04-071-2/+2
| | | | llvm-svn: 129101
* Added a check in the preRA scheduler for potential interference on aAndrew Trick2011-04-073-4/+107
| | | | | | | | | induction variable. The preRA scheduler is unaware of induction vars, so we look for potential "virtual register cycles" instead. Fixes <rdar://problem/8946719> Bad scheduling prevents coalescing llvm-svn: 129100
* Fix handling of functions with internal linkage.Akira Hatanaka2011-04-071-8/+27
| | | | llvm-svn: 129099
* Add sanity checking for invalid register encodings for signed/unsigned ↵Johnny Chen2011-04-071-0/+5
| | | | | | | | extend instructions. Add some test cases. llvm-svn: 129098
* Add sanity checking for invalid register encodings for saturating instructions.Johnny Chen2011-04-071-0/+5
| | | | llvm-svn: 129096
* Recompute hasPHIKill flags when shrinking live intervals.Jakob Stoklund Olesen2011-04-071-1/+3
| | | | | | PHI values may be deleted, causing the flags to be wrong. This fixes PR9616. llvm-svn: 129092
* Add some more comments about checkings of invalid register numbers.Johnny Chen2011-04-071-0/+5
| | | | | | And two test cases. llvm-svn: 129090
* Expose more passes to the C API.Rafael Espindola2011-04-071-0/+16
| | | | llvm-svn: 129087
* Avoid moving iterators when the previous block was just visited.Jakob Stoklund Olesen2011-04-071-8/+13
| | | | llvm-svn: 129081
* Prefer multiplications to divisions.Jakob Stoklund Olesen2011-04-071-7/+13
| | | | llvm-svn: 129080
* Extract SpillPlacement::addLinks for handling the special transparent blocks.Jakob Stoklund Olesen2011-04-073-37/+49
| | | | llvm-svn: 129079
* While hoisting common code from if/else, hoist debug info intrinsics if they ↵Devang Patel2011-04-071-8/+18
| | | | | | match. llvm-svn: 129078
OpenPOWER on IntegriCloud