summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Generic
Commit message (Collapse)AuthorAgeFilesLines
...
* Comment correction.Andrew Trick2011-07-121-2/+3
| | | | llvm-svn: 134958
* Land the long talked about "type system rewrite" patch. ThisChris Lattner2011-07-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | patch brings numerous advantages to LLVM. One way to look at it is through diffstat: 109 files changed, 3005 insertions(+), 5906 deletions(-) Removing almost 3K lines of code is a good thing. Other advantages include: 1. Value::getType() is a simple load that can be CSE'd, not a mutating union-find operation. 2. Types a uniqued and never move once created, defining away PATypeHolder. 3. Structs can be "named" now, and their name is part of the identity that uniques them. This means that the compiler doesn't merge them structurally which makes the IR much less confusing. 4. Now that there is no way to get a cycle in a type graph without a named struct type, "upreferences" go away. 5. Type refinement is completely gone, which should make LTO much MUCH faster in some common cases with C++ code. 6. Types are now generally immutable, so we can use "Type *" instead "const Type *" everywhere. Downsides of this patch are that it removes some functions from the C API, so people using those will have to upgrade to (not yet added) new API. "LLVM 3.0" is the right time to do this. There are still some cleanups pending after this, this patch is large enough as-is. llvm-svn: 134829
* more tests not making the jump into the brave new world.Chris Lattner2011-07-092-878/+0
| | | | llvm-svn: 134820
* Added a testcase for PR10220.Lang Hames2011-07-071-0/+15
| | | | llvm-svn: 134573
* Introduce "expect" intrinsic instructions.Jakub Staszak2011-07-061-0/+223
| | | | llvm-svn: 134516
* Handle debug info for i128 constants.Devang Patel2011-06-241-25/+0
| | | | llvm-svn: 133821
* rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which isChris Lattner2011-06-183-176/+6
| | | | | | | | | for pre-2.9 bitcode files. We keep x86 unaligned loads, movnt, crc32, and the target indep prefetch change. As usual, updating the testsuite is a PITA. llvm-svn: 133337
* remove asmparser support for the old getresult instruction, which has been ↵Chris Lattner2011-06-172-8/+2
| | | | | | subsumed by extractvalue. llvm-svn: 133247
* Remove support for using "foo" as symbols instead of %"foo". This is ancientChris Lattner2011-06-171-6/+6
| | | | | | | syntax and has been long obsolete. As usual, updating the tests is the nasty part of this. llvm-svn: 133242
* manually upgrade a bunch of tests to modern syntax, and remove some thatChris Lattner2011-06-171-28/+0
| | | | | | are either unreduced or only test old syntax. llvm-svn: 133228
* Rename the test. Thanks Cameron! Use shorter/generic names.Anna Zaks2011-06-161-12/+12
| | | | llvm-svn: 133115
* Function::getNumBlockIDs() should be used instead of Function::size() to set ↵Anna Zaks2011-06-161-0/+81
| | | | | | the upper limit on the block IDs since basic blocks might get removed (simplified away) after being initially numbered. Plus the test case, in which SelectionDAGBuilder::visitBr() calls llvm::MachineFunction::removeFromMBBNumbering(), which introduces the hole in numbering leading to an assert in llc (prior to the fix). llvm-svn: 133113
* Move the legalizer tests to the X86 directory because the test uses the x86Nadav Rotem2011-06-071-91/+0
| | | | | | codegen. Thanks Galina. llvm-svn: 132706
* Add methods to support the integer-promotion of vector types. Methods toNadav Rotem2011-06-061-1/+72
| | | | | | legalize SDNodes such as BUILD_VECTOR, EXTRACT_VECTOR_ELT, etc. llvm-svn: 132689
* TypeLegalizer: Add support for passing of vector-promoted types in registers ↵Nadav Rotem2011-06-041-0/+20
| | | | | | (copyFromParts/copyToParts). llvm-svn: 132649
* This patch is another step in the direction of adding vector select. In thisNadav Rotem2011-06-011-0/+15
| | | | | | | | | patch we add a flag to enable a new type legalization decision - to promote integer elements in vectors. Currently, the rest of the codegen does not support this kind of legalization. This flag will be removed when the transition is complete. llvm-svn: 132394
* Move test for appropriate directory.Galina Kistanova2011-05-171-32/+0
| | | | llvm-svn: 131477
* Make codegen able to handle values of empty types. This is one wayRafael Espindola2011-05-131-0/+81
| | | | | | to fix PR9900. I will keep it open until sable is able to comment on it. llvm-svn: 131294
* Un-XFAIL this test for ARM. <rdar://problem/7662569>Stuart Hastings2011-04-201-1/+0
| | | | llvm-svn: 129875
* Fix a bug where RecursivelyDeleteTriviallyDeadInstructions couldChris Lattner2011-04-091-0/+28
| | | | | | | delete the instruction pointed to by CGP's current instruction iterator, leading to a crash on the testcase. This fixes PR9578. llvm-svn: 129200
* ARM doesn't support byval yet. XFAIL this test until it does.Stuart Hastings2011-04-051-0/+1
| | | | llvm-svn: 128891
* Make this test x86 specific because the ARM backend can't handle it.Duncan Sands2011-02-281-7/+0
| | | | llvm-svn: 126650
* Legalize support for fpextend of vector. PR9309.Duncan Sands2011-02-271-0/+7
| | | | llvm-svn: 126574
* A fix for 9165.Nadav Rotem2011-02-121-0/+32
| | | | | | | | The DAGCombiner created illegal BUILD_VECTOR operations. The patch added a check that either illegal operations are allowed or that the created operation is legal. llvm-svn: 125435
* fix rdar://8878965, a regression I introduced with the recentChris Lattner2011-01-181-0/+32
| | | | | | llvm.objectsize changes. llvm-svn: 123771
* Add a testcase for PR8582, which mysteriously fixed itself, in case the problemDuncan Sands2011-01-061-0/+15
| | | | | | comes back some day. llvm-svn: 122982
* Fixes PR8823: add-with-overflow-128.llAndrew Trick2010-12-231-3/+1
| | | | | | | | In the bottom-up selection DAG scheduling, handle two-address instructions that read/write unspillable registers. Treat the entire chain of two-address nodes as a single live range. llvm-svn: 122472
* temporarily disable this: PR8823.Chris Lattner2010-12-201-17/+11
| | | | llvm-svn: 122222
* add a general coverage test for overflow intrinsics.Chris Lattner2010-12-191-0/+220
| | | | llvm-svn: 122185
* Removing the useless test that I added recently. It was meant as an example, ↵Andrew Trick2010-11-201-32/+0
| | | | | | but not complicated enough to merit another test. llvm-svn: 119898
* Emacs auto-fill bug.Andrew Trick2010-11-121-1/+2
| | | | llvm-svn: 118908
* Test case for PR8287: SD scheduling time. Fixed in r118904.Andrew Trick2010-11-121-0/+31
| | | | llvm-svn: 118906
* When passing a huge parameter using the byval mechanism, a longDuncan Sands2010-11-041-0/+11
| | | | | | | | | sequence of loads and stores was being generated to perform the copy on the x86 targets if the parameter was less than 4 byte aligned, causing llc to use up vast amounts of memory and time. Use a "rep movs" form instead. PR7170. llvm-svn: 118260
* Fix a crash in the dag combiner caused by ↵Nate Begeman2010-07-271-0/+6
| | | | | | | | ConstantFoldBIT_CONVERTofBUILD_VECTOR calling itself recursively and returning a SCALAR_TO_VECTOR node, but assuming the input was always a BUILD_VECTOR. llvm-svn: 109519
* Fix up -fstack-protector on linux to use the segmentEric Christopher2010-07-061-25/+0
| | | | | | | | | registers. Split out testcases per architecture and os now. Patch from Nelson Elhage. llvm-svn: 107640
* Move v-binop-widen tests to X86 since they don't work on all platformsMon P Wang2010-06-222-45/+0
| | | | llvm-svn: 106562
* Remove arm_apcscc from the test files. It is the default and doing thisRafael Espindola2010-06-171-2/+2
| | | | | | matches what llvm-gcc and clang now produce. llvm-svn: 106221
* modify so the test doesn't drop an output file in the test source directory.Jim Grosbach2010-06-161-1/+1
| | | | | | | The test should also likely have some FileCheck bits to validate the output(?). llvm-svn: 106146
* Remove the local register allocator.Jakob Stoklund Olesen2010-06-151-1/+0
| | | | | | Please use the fast allocator instead. llvm-svn: 106051
* Fixed vector widening of binary instructions that can trap. Patch by Visa ↵Mon P Wang2010-06-152-0/+45
| | | | | | Putkinen! llvm-svn: 106038
* Implement expansion in type legalization for add/sub with overflow. TheEli Friedman2010-06-031-0/+42
| | | | | | | | | | expansion is the same as that used by LegalizeDAG. The resulting code sucks in terms of performance/codesize on x86-32 for a 64-bit operation; I haven't looked into whether different expansions might be better in general. llvm-svn: 105378
* Enable a bunch more -regalloc=fast testsJakob Stoklund Olesen2010-05-121-0/+1
| | | | llvm-svn: 103531
* SDDbgValues are apparently not being legalized. Fix a symptom of the problem,Dan Gohman2010-05-071-0/+25
| | | | | | | and not the real problem itself, by dropping debug info for i128 values. rdar://7958162. llvm-svn: 103310
* Remove the -enable-sjlj-eh option, which doesn't do anything.Duncan Sands2010-05-023-3/+3
| | | | | | | Remove the -enable-eh option which is only used by the JIT, and replace it with -jit-enable-eh. llvm-svn: 102865
* fix PR6332, allowing an index of zero into a zero sized array Chris Lattner2010-04-171-0/+8
| | | | | | even if the element of the array has no size. llvm-svn: 101662
* Fix PR4975. Avoid referencing empty vector.Evan Cheng2010-03-291-0/+17
| | | | llvm-svn: 99840
* Revert Edwin's change that is breaking MultiSource/Applications/ClamAV/clamscan.Bob Wilson2010-03-241-114/+0
| | | | | | | | --- Reverse-merging r99400 into '.': D test/CodeGen/Generic/2010-03-24-liveintervalleak.ll U lib/CodeGen/LiveIntervalAnalysis.cpp llvm-svn: 99419
* Fix memory leak in liveintervals: the destructor for VNInfos must be called,Torok Edwin2010-03-241-0/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | otherwise the SmallVector it contains doesn't free its memory. In most cases LiveIntervalAnalysis could get away by not calling the destructor, because VNInfos are bumpptr-allocated, and smallvectors usually don't grow. However when the SmallVector does grow it always leaks. This is the valgrind shown leak from the original testcase: ==8206== 18,304 bytes in 151 blocks are definitely lost in loss record 164 of 164 ==8206== at 0x4A079C7: operator new(unsigned long) (vg_replace_malloc.c:220) ==8206== by 0x4DB7A7E: llvm::SmallVectorBase::grow_pod(unsigned long, unsigned long) (in /home/edwin/clam/git/builds/defaul t/libclamav/.libs/libclamav.so.6.1.0) ==8206== by 0x4F90382: llvm::VNInfo::addKill(llvm::SlotIndex) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libcl amav.so.6.1.0) ==8206== by 0x5126B5C: llvm::LiveIntervals::handleVirtualRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::M achineInstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int, llvm::LiveInterval&) (in /home/edwin/clam/git/builds/defau lt/libclamav/.libs/libclamav.so.6.1.0) ==8206== by 0x512725E: llvm::LiveIntervals::handleRegisterDef(llvm::MachineBasicBlock*, llvm::ilist_iterator<llvm::MachineI nstr>, llvm::SlotIndex, llvm::MachineOperand&, unsigned int) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav .so.6.1.0) ==8206== by 0x51278A8: llvm::LiveIntervals::computeIntervals() (in /home/edwin/clam/git/builds/default/libclamav/.libs/libc lamav.so.6.1.0) ==8206== by 0x5127CB4: llvm::LiveIntervals::runOnMachineFunction(llvm::MachineFunction&) (in /home/edwin/clam/git/builds/de fault/libclamav/.libs/libclamav.so.6.1.0) ==8206== by 0x4DAE935: llvm::FPPassManager::runOnFunction(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama v/.libs/libclamav.so.6.1.0) ==8206== by 0x4DAEB10: llvm::FunctionPassManagerImpl::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclama v/.libs/libclamav.so.6.1.0) ==8206== by 0x4DAED3D: llvm::FunctionPassManager::run(llvm::Function&) (in /home/edwin/clam/git/builds/default/libclamav/.l ibs/libclamav.so.6.1.0) ==8206== by 0x4D8BE8E: llvm::JIT::runJITOnFunctionUnlocked(llvm::Function*, llvm::MutexGuard const&) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0) ==8206== by 0x4D8CA72: llvm::JIT::getPointerToFunction(llvm::Function*) (in /home/edwin/clam/git/builds/default/libclamav/.libs/libclamav.so.6.1.0) llvm-svn: 99400
* Fix PR6673: updating the callback should not clear the map.Chris Lattner2010-03-221-0/+23
| | | | llvm-svn: 99227
* Fix liveintervals handling of dbg_value instructions.Evan Cheng2010-03-161-0/+13
| | | | llvm-svn: 98686
OpenPOWER on IntegriCloud