summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* pc-relative references are *always* to functions, never to globals. ISel Chris Lattner2009-07-091-21/+8
| | | | | | is incapable of lowering direct references to globals like this, zap the code. llvm-svn: 75106
* make cygwin use its own stubs set, instead of overloading a darwin one.Chris Lattner2009-07-092-4/+3
| | | | llvm-svn: 75105
* Make isel determine where to emit PLT-relative calls instead of havingChris Lattner2009-07-092-18/+31
| | | | | | asmprinter do it. llvm-svn: 75104
* isPICStyleStub() is now never true in -static mode, so simplify code.Chris Lattner2009-07-091-9/+4
| | | | llvm-svn: 75102
* simplify some code based on the fact that picstyles != none are only valid Chris Lattner2009-07-094-23/+16
| | | | | | in pic or dynamic-no-pic mode. Also, x86-64 never used picstylegot. llvm-svn: 75101
* all this logic always returns true because GOT mode is never active in ↵Chris Lattner2009-07-091-16/+5
| | | | | | | | x86-64 mode. Simplify it away, someone should evaluate this. llvm-svn: 75100
* isPICStyleRIPRel() and friends are never true in -static mode.Chris Lattner2009-07-092-36/+29
| | | | | | Simplify code based on this. llvm-svn: 75099
* Move PR4517 to README.txt.Nick Lewycky2009-07-091-0/+22
| | | | llvm-svn: 75098
* Improved tracking of value number kills. VN kills are now representedLang Hames2009-07-096-42/+102
| | | | | | | | | | | | as an (index,bool) pair. The bool flag records whether the kill is a PHI kill or not. This code will be used to enable splitting of live intervals containing PHI-kills. A slight change to live interval weights introduced an extra spill into lsr-code-insertion (outside the critical sections). The test condition has been updated to reflect this. llvm-svn: 75097
* .o file writing shouldn't mess around with pic/relo models like the JIT does.Chris Lattner2009-07-091-18/+0
| | | | llvm-svn: 75096
* move a hack out of the asm-printer specific path to the main target ↵Chris Lattner2009-07-091-12/+17
| | | | | | selection path. llvm-svn: 75095
* many more cleanups, for example if in the "none" pic-style,Chris Lattner2009-07-091-26/+26
| | | | | | | make sure we're set to static codegen. Simplify the decision tree of target->picstyle/picmode settings. llvm-svn: 75094
* Reduce indentation in GVRequiresExtraLoad. Return true for windowsChris Lattner2009-07-091-26/+28
| | | | | | with DLLImport symbols even when in -static mode. llvm-svn: 75093
* When in -static mode, force the PIC style to none. Doing this requires fixingChris Lattner2009-07-093-19/+33
| | | | | | | code which conflated RIPRel PIC with x86-64. Fix these to just check for X86-64 directly. llvm-svn: 75092
* merge two identical functions and simplify things that are GOT specificChris Lattner2009-07-091-41/+33
| | | | llvm-svn: 75091
* hoist check for IsTailCall to callers. Eliminate redundant check for Chris Lattner2009-07-091-10/+6
| | | | | | x86-64: GOT-style PIC is never used on x86-64. llvm-svn: 75090
* change a few methods to be static functions.Chris Lattner2009-07-092-14/+17
| | | | llvm-svn: 75089
* one more added assert.Chris Lattner2009-07-091-1/+3
| | | | llvm-svn: 75088
* move handling of dllimport linkage in isel, not in asmprinter.Chris Lattner2009-07-094-17/+27
| | | | llvm-svn: 75086
* one more assertion!Chris Lattner2009-07-091-1/+3
| | | | llvm-svn: 75083
* add some more assertions. Remove code to handle dllimport on darwin.Chris Lattner2009-07-091-3/+6
| | | | llvm-svn: 75082
* Make SelectionDAG::getVectorShuffle work properly for VECTOR_SHUFFLEDan Gohman2009-07-091-2/+2
| | | | | | | | nodes with operand types that differ from the result type. (This doesn't normally happen right now, because SelectionDAGLowering::visitShuffleVector normalizes vector shuffles.) llvm-svn: 75081
* remove "asmcall", using print_pcrel_imm instead of printOperand.Chris Lattner2009-07-091-27/+8
| | | | llvm-svn: 75080
* simplify some logicChris Lattner2009-07-091-13/+15
| | | | llvm-svn: 75079
* * add some assertions for sanity checking.Chris Lattner2009-07-091-23/+25
| | | | | | | | * remove some old code that was needed when we'd put ESP in the scale instead of the base of some instructions. * Fix a bug with the P modifier in inline asm that caused us to drop it. llvm-svn: 75077
* LLVMContext-ification.Owen Anderson2009-07-082-7/+10
| | | | llvm-svn: 75072
* Use common code for both ARM and Thumb-2 instruction and register info.David Goodwin2009-07-0813-1125/+106
| | | | llvm-svn: 75067
* * manually concatenate two string literalsChris Lattner2009-07-081-3/+1
| | | | | | * remove some dead code: darwin doesn't support dllimport linkage. llvm-svn: 75066
* - Add some NEON ld / st instruction static encoding.Evan Cheng2009-07-082-4/+38
| | | | | | | - Make bits 25-27 for ldrh, etc. explicitly zero. Previously only the JIT uses the encoding information and it's assuming anything not specified to be zero. Making them explicit so the disassembler is happy. Patch by Sean Callanan. llvm-svn: 75065
* Fix thinko.Devang Patel2009-07-081-1/+1
| | | | llvm-svn: 75061
* Fix the AssertingVH unittests.Jeffrey Yasskin2009-07-081-2/+1
| | | | llvm-svn: 75060
* Add an option to allocate JITed global data separately from code. ByJeffrey Yasskin2009-07-088-67/+134
| | | | | | | | | | | | | | default, this option is not enabled to support clients who rely on this behavior. Fixes http://llvm.org/PR4483 A patch to allocate additional memory for globals after we run out is forthcoming. Patch by Reid Kleckner! llvm-svn: 75059
* Drop "constant" from Devang Patel2009-07-082-4/+2
| | | | | | !0 = constant metadata !{...} llvm-svn: 75057
* Allow users of GraphWriter to display graphs asynchronously. ThisDavid Greene2009-07-081-15/+30
| | | | | | | provides a way to quickly dump a bunch of graph information to dot files and display them. It's a timesaver when working on large systems. llvm-svn: 75056
* Add an ExecuteNoWait interface to support asynchronous process spawning.David Greene2009-07-082-0/+237
| | | | llvm-svn: 75055
* Update SLotTracker to handle MDNode slots.Devang Patel2009-07-081-90/+134
| | | | | | Simplify MDNode printing. llvm-svn: 75053
* Nowadays vectors are only split if they have an evenDuncan Sands2009-07-084-59/+47
| | | | | | | | number of elements. Make some simplifications based on this (in particular SplitVecRes_SETCC). Tighten up some checking while there. llvm-svn: 75050
* Change how so_imm and t2_so_imm are handled. At instruction selection time, ↵Evan Cheng2009-07-089-111/+48
| | | | | | the immediates are no longer encoded in the imm8 + rot format, that are left as it is. The encoding is now done in ams printing and code emission time instead. llvm-svn: 75048
* Recommit r74952 with a bug fix:Bill Wendling2009-07-082-71/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DWARF requires frame moves be specified at specific times. If you have a 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. There is some ugliness where we generate code like this: LBB22_0: ## entry pushl %ebp Llabel280: movl %esp, %ebp Llabel281: Llabel284: pushl %ebp <---------- pushl %ebx pushl %edi pushl %esi Llabel282: subl $328, %esp Notice the extra "pushl %ebp". If we generate a "machine move" instruction in the FDE for that pushl, the linker may get very confused about what value %ebp should have when exitting the function. I.e., it'll give it the value %esp instead of the %ebp value from the first "pushl". Not to mention that, in this case, %ebp isn't modified in the function (that's a separate bug). I put a small hack in to get it to work. It might be the only solution, but should be revisited once the above case is fixed. llvm-svn: 75047
* Use interators instead of counters for loops.Bill Wendling2009-07-081-16/+21
| | | | llvm-svn: 75046
* Missed an exit during the conversion.Torok Edwin2009-07-082-6/+6
| | | | | | | Will convert assert(0) that don't have abort() to LLVM_UNREACHABLE in a later commit. llvm-svn: 75045
* Implement changes from Chris's feedback.Torok Edwin2009-07-0850-191/+258
| | | | | | Finish converting lib/Target. llvm-svn: 75043
* Push LLVMContext _back_ through IRBuilder.Owen Anderson2009-07-084-5/+5
| | | | llvm-svn: 75040
* Implement NEON vst1 instruction.Bob Wilson2009-07-081-0/+22
| | | | llvm-svn: 75037
* Generalize opcode selection in ARMBaseRegisterInfo.David Goodwin2009-07-0812-63/+80
| | | | llvm-svn: 75036
* Fix cmake build.Xerxes Ranby2009-07-081-0/+1
| | | | | | Added ARMBaseRegisterInfo.cpp to lib/Target/ARM/CMakeLists.txt llvm-svn: 75035
* Support MDNode forward reference.Devang Patel2009-07-082-3/+34
| | | | llvm-svn: 75031
* Make the code that updates ScalarEvolution's internal state in responseDan Gohman2009-07-081-30/+70
| | | | | | | | | | | | to a loop deletion more thorough. Don't prune the def-use tree search at instructions that don't have SCEVs computed, because an instruction with a user that has a computed SCEV may itself lack a computed SCEV. Also, remove loop-related values from the ValuesAtScopes and ConstantEvolutionLoopExitValues maps as well. This fixes a regression in 483.xalancbmk. llvm-svn: 75030
* Tell ScalarEvolution to forget a loop before starting to delete it.Dan Gohman2009-07-081-6/+6
| | | | | | | This way ScalarEvolution can examine the loop to determine what state it needs to update, if it chooses. llvm-svn: 75029
* Convert more abort() calls to llvm_report_error().Torok Edwin2009-07-0817-94/+112
| | | | | | Also remove trailing semicolon. llvm-svn: 75027
OpenPOWER on IntegriCloud