summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Start breaking out common base functionality for register info.David Goodwin2009-07-084-916/+979
| | | | llvm-svn: 75016
* Checkpoint Thumb2 Instr info work. Generalized base code so that it can be ↵David Goodwin2009-07-0811-1115/+1412
| | | | | | shared between ARM and Thumb2. Not yet activated because register information must be generalized first. llvm-svn: 75010
* Remove trailing whitespace. Reorder some methodsDuncan Sands2009-07-085-59/+60
| | | | | | and cases alphabetically. No functionality change. llvm-svn: 75001
* Mark sublw_cc and subfw_cc as Terminator insns so that they are part of the ↵Sanjiv Gupta2009-07-081-2/+4
| | | | | | terminator insns for a basic block alongwith branch insns. This way a copy is not getting inserted between cmp and branch during PHIElimination disturbing the status flags. llvm-svn: 74992
* Remove the vicmp and vfcmp instructions. Because we never had a release withNick Lewycky2009-07-0815-362/+75
| | | | | | | these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
* Add a Thumb2 instruction flag to that indicates whether the instruction can ↵Evan Cheng2009-07-083-14/+26
| | | | | | be transformed to 16-bit variant. llvm-svn: 74988
* Push LLVMContext through GlobalVariables and IRBuilder.Owen Anderson2009-07-0816-51/+76
| | | | llvm-svn: 74985
* remove two methods that no longer exist.Chris Lattner2009-07-081-24/+0
| | | | llvm-svn: 74982
* more getting windows to build.Chris Lattner2009-07-081-14/+7
| | | | llvm-svn: 74981
* dag combine sext(setcc) -> vsetcc before legalize. To make this safe,Chris Lattner2009-07-081-1/+19
| | | | | | | | | VSETCC must define all bits, which is different than it was documented to before. Since all targets that implement VSETCC already have this behavior, and we don't optimize based on this, just change the documentation. We now get nice code for vec_compare.ll llvm-svn: 74978
* hopefully fix the build on windows.Chris Lattner2009-07-081-0/+1
| | | | llvm-svn: 74977
* Add a todo.Evan Cheng2009-07-082-1/+9
| | | | llvm-svn: 74976
* Also statically set bit 25 for BR_JT instructions.Evan Cheng2009-07-071-3/+3
| | | | llvm-svn: 74974
* LLVMContext-ification.Owen Anderson2009-07-073-30/+41
| | | | llvm-svn: 74973
* Statically encode bit 25 to indicate immediate form of data processing ↵Evan Cheng2009-07-072-14/+37
| | | | | | instructions. Patch by Sean Callanan. llvm-svn: 74972
* --- Reverse-merging (from foreign repository) r74952 into '.':Bill Wendling2009-07-072-77/+71
| | | | | | | | | U lib/Target/X86/X86RegisterInfo.cpp U lib/Target/X86/X86RegisterInfo.h Temporarily revert. This was causing an infinite loop in the linker on Leopard. llvm-svn: 74970
* SelectionDAG::SignBitIsZero doesn't work right for vectors,Chris Lattner2009-07-071-0/+4
| | | | | | for now, conservatively return false. llvm-svn: 74969
* Commit the file I actually changed as part of lastDale Johannesen2009-07-071-10/+24
| | | | | | patch, instead of one I didn't. llvm-svn: 74968
* Operand of asm("call") (the callee function) is representedDale Johannesen2009-07-071-3/+16
| | | | | | | | | | as "X" constraint and "P" modifier on x86. Make this work. (Change may not be sufficient to fix it for non-Darwin, but I'm pretty sure it won't break anything.) gcc.apple/asm-block-32.c gcc.apple/asm-block-33.c llvm-svn: 74967
* add support for legalizing an icmp where the result is illegal (4xi1) butChris Lattner2009-07-071-7/+30
| | | | | | the input is legal (4 x i32) llvm-svn: 74964
* random code cleanups.Chris Lattner2009-07-071-27/+28
| | | | llvm-svn: 74962
* implement support for spliting and scalarizing vector setcc's. ThisChris Lattner2009-07-072-9/+24
| | | | | | | finishes off enough support for vector compares to get the icmp/fcmp version of 2008-07-23-VSetCC.ll passing. llvm-svn: 74961
* lower vector icmp/fcmp to ICMP/FCMP nodes with the right resultChris Lattner2009-07-071-2/+5
| | | | | | (vector of bool). llvm-svn: 74960
* ScalarizeVecRes_ShiftOp and ScalarizeVecRes_BinOp are the same,Chris Lattner2009-07-072-12/+1
| | | | | | eliminate the former. llvm-svn: 74959
* add support for vector legalizing of *_EXTEND.Chris Lattner2009-07-071-15/+50
| | | | llvm-svn: 74957
* Accidently dropped this while removing dead code in previous commit.Devang Patel2009-07-071-0/+1
| | | | llvm-svn: 74953
* DWARF requires frame moves be specified at specific times. If you have aBill Wendling2009-07-072-71/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prologue like this: __Z3fooi: Leh_func_begin1: LBB1_0: ## entry pushl %ebp Llabel1: movl %esp, %ebp Llabel2: pushl %esi Llabel3: subl $20, %esp call "L1$pb" "L1$pb": popl %esi The "pushl %ebp" needs a table entry specifying the offset. The "movl %esp, %ebp" makes %ebp the new stack frame register, so that needs to be specified in DWARF. And "pushl %esi" saves the callee-saved %esi register, which also needs to be specified in DWARF. Before, all of this logic was in one method. This didn't work too well, because as you can see there are multiple FDE line entries that need to be created. This fix creates the "MachineMove" objects directly when they're needed; instead of waiting until the end, and losing information. llvm-svn: 74952
* LLVMContext-ifiy the implementation of the C API.Owen Anderson2009-07-071-59/+102
| | | | llvm-svn: 74950
* Remove dead code.Devang Patel2009-07-072-32/+2
| | | | llvm-svn: 74949
* LLVM Context-ification.Owen Anderson2009-07-071-22/+42
| | | | llvm-svn: 74948
* Add Thumb2 movcc instructions.Evan Cheng2009-07-072-35/+82
| | | | llvm-svn: 74946
* Implement parsing support for the .comm directive. Patch byChris Lattner2009-07-071-0/+12
| | | | | | Kevin Enderby! llvm-svn: 74944
* LLVMContext-ify the bitcode reader.Owen Anderson2009-07-072-57/+65
| | | | llvm-svn: 74942
* Add BX and BXr9 encodings. Patch by Sean Callanan.Evan Cheng2009-07-071-2/+10
| | | | llvm-svn: 74938
* Fix build.Mike Stump2009-07-071-0/+1
| | | | llvm-svn: 74936
* Use LLVMContext in the LLLexer.Owen Anderson2009-07-073-5/+10
| | | | llvm-svn: 74934
* Have scoped mutexes take referenes instead of pointers.Owen Anderson2009-07-0716-64/+64
| | | | llvm-svn: 74931
* Eliminate the static constructors and locks from DynamicLibrary.cpp.Chris Lattner2009-07-071-26/+27
| | | | | | | | | | | | | | | | | | This fixes PR4512 and eliminating static ctors is always good. Losing thread safety is unfortunate, but the code is just incredibly poorly designed. If someone is interested, the "right" solution is to split DynamicLibrary.cpp into two separate pieces: a stateless piece in libsystem, and a simple support file in libsupport that has the "state" (e.g. AddSymbol) in managed static objects. Doing this would both fix memory leaks we already have, as well as make the code thread safe again. it would also make sense to move all the unix specific code in System/DynamicLibrary.cpp into System/Unix/DynamicLibrary.inc. llvm-svn: 74927
* remove dead code, noone creates instances of "DynamicLibrary", so the ctor ↵Chris Lattner2009-07-071-10/+1
| | | | | | and dtor are dead. llvm-svn: 74926
* Revert 74898. It broke several tests.Evan Cheng2009-07-071-9/+3
| | | | llvm-svn: 74925
* we don't use libtool anymore, update comments.Chris Lattner2009-07-071-12/+2
| | | | llvm-svn: 74924
* Fix braces.Torok Edwin2009-07-071-4/+2
| | | | llvm-svn: 74923
* Introduce new error handling API.Torok Edwin2009-07-073-7/+60
| | | | | | | | This will replace exit()/abort() style error handling with an API that allows clients to register custom error handling hooks. The default is to call exit(1) when no error handler is provided. llvm-svn: 74922
* Re-LLVMContext-ize DebugInfo, now with less breakage.Owen Anderson2009-07-071-58/+72
| | | | llvm-svn: 74920
* Change all SCEV* to SCEV *.Dan Gohman2009-07-077-372/+372
| | | | llvm-svn: 74918
* Revert part of r74873 that broke Clang's debug info generation.Owen Anderson2009-07-071-81/+57
| | | | llvm-svn: 74910
* if the terminator is a branch depending upon the side effects of aSanjiv Gupta2009-07-071-3/+9
| | | | | | | | previous cmp; a copy can not be inserted here if the copy insn also has side effects. We don't have access to the attributes of copy insn here; so just play safe by finding a safe locations for branch terminators. llvm-svn: 74898
* Add Thumb2 pkhbt / pkhtb.Evan Cheng2009-07-071-4/+25
| | | | llvm-svn: 74895
* Add some more Thumb2 multiplication instructions.Evan Cheng2009-07-073-11/+134
| | | | llvm-svn: 74889
* 80 col violation.Evan Cheng2009-07-071-2/+2
| | | | llvm-svn: 74888
OpenPOWER on IntegriCloud