summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fixed MC encoding for index_align for VLD1/VST1 (single element from one ↵Mon P Wang2011-05-094-2/+60
| | | | | | lane) for size 32 llvm-svn: 131085
* Indent properly, no functionality change.Duncan Sands2011-05-091-12/+12
| | | | llvm-svn: 131082
* Eliminate an unused line to fix a warning.NAKAMURA Takumi2011-05-081-1/+0
| | | | llvm-svn: 131078
* Remove an assertion to fix PR9872.Jakob Stoklund Olesen2011-05-082-1/+6
| | | | | | | | | | | | | | | | | | | | It can happen that a live debug variable is the last use of a sub-register, and the register allocator will pick a larger register class for the virtual register. If the allocated register doesn't support the sub-register index, just use %noreg for the debug variables instead of asserting. In PR9872, a debug variable ends up in the sub_8bit_hi part of a GR32_ABCD register. The register is split and one part is inflated to GR32 and assigned %ESI because there are no more normal uses of sub_8bit_hi. Since %ESI doesn't have that sub-register, substPhysReg asserted. Now it will simply insert a %noreg instead, and the debug variable will be marked unavailable in that range. We don't currently have a way of saying: !"value" is in bits 8-15 of %ESI, I don't know if DWARF even supports that. llvm-svn: 131073
* X86: Add a bunch of peeps for add and sub of SETB.Benjamin Kramer2011-05-081-0/+24
| | | | | | | | | | | | | | | | "b + ((a < b) ? 1 : 0)" compiles into cmpl %esi, %edi adcl $0, %esi instead of cmpl %esi, %edi sbbl %eax, %eax andl $1, %eax addl %esi, %eax This saves a register, a false dependency on %eax (Intel's CPUs still don't ignore it) and it's shorter. llvm-svn: 131070
* Don't force relaxation of AdvanceLoc instructions on OS X. gdb is happy withRafael Espindola2011-05-082-13/+6
| | | | | | | the smaller encoding and this cuts 270336 bytes from a release version of clang and 1246272 bytes from a debug build. llvm-svn: 131067
* Eliminate the ARM sub-register indexes that are not needed by the sources.Jakob Stoklund Olesen2011-05-071-33/+6
| | | | | | | Tablegen will invent its own names for these indexes, and the register file is a bit simpler. llvm-svn: 131059
* The comparision "max(x,y)==x" is equivalent to "x>=y". Since the max isDuncan Sands2011-05-071-10/+56
| | | | | | | often expressed as "x >= y ? x : y", there is a good chance we can extract the existing "x >= y" from it and use that as a replacement for "max(x,y)==x". llvm-svn: 131049
* Fix the non-MC encoding of pkhbt and pkhtb.Eric Christopher2011-05-071-0/+6
| | | | | | Patch by Stephen Hines. llvm-svn: 131045
* Revert ExecutionEngine patches, they either failed to build or broke unit tests.Jakob Stoklund Olesen2011-05-0710-49/+168
| | | | | | Please ensure the build is clean and tests are passing when recommitting. llvm-svn: 131044
* Switch Darwin to the generic CIE/FDE printer.Rafael Espindola2011-05-061-64/+0
| | | | llvm-svn: 131031
* ExecutionEngine: delete duplicated filesDylan Noblesmith2011-05-062-182/+0
| | | | | | Forgot to `svn rm` these in revisions 131025 / 131029. llvm-svn: 131030
* ExecutionEngine: add missing fileDylan Noblesmith2011-05-061-0/+91
| | | | | | From revision 131025. llvm-svn: 131029
* 1. Keep lines in 80 columns.Akira Hatanaka2011-05-062-6/+6
| | | | | | | 2. Remove unused function. 3. Correct indentation. llvm-svn: 131028
* ExecutionEngine: move createJIT() definitionDylan Noblesmith2011-05-062-19/+29
| | | | | | | As an ExecutionEngine class function, its definition really belongs in ExecutionEngine.cpp, not JIT.cpp. llvm-svn: 131027
* ExecutionEngine: push TargetMachine creation into clientsDylan Noblesmith2011-05-065-50/+20
| | | | | | | | In particular, into EngineBuilder. This should only impact the private API between the EE and EB classes, not external clients, since JITCtor and MCJITCtor are both protected members. llvm-svn: 131026
* ExecutionEngine: fix JIT/MCJIT selectTarget() duplicationDylan Noblesmith2011-05-067-20/+12
| | | | | | | This prepares for making JITCtor/MCJITCtor take a TargetMachine* directly from clients like EngineBuilder. llvm-svn: 131025
* Emit a proper error message when register allocators run out of registers.Jakob Stoklund Olesen2011-05-062-1/+24
| | | | | | | This can't be just an assertion, users can always write impossible inline assembly. Such an assembly statement should be included in the error message. llvm-svn: 131024
* Added an assertion, and updated a comment.Andrew Trick2011-05-061-5/+8
| | | | llvm-svn: 131022
* It's valid to take the blockaddress of a different function, so remove thisNick Lewycky2011-05-061-2/+0
| | | | | | | assert in the bitcode writer. No change needed because the ValueEnumerator holds a whole-module numbering anyhow. Fixes PR9857! llvm-svn: 131016
* 80 col violations.Evan Cheng2011-05-061-3/+7
| | | | llvm-svn: 131015
* Make the logic for determining function alignment more explicit. No ↵Eli Friedman2011-05-0628-98/+37
| | | | | | functionality change. llvm-svn: 131012
* Use array_lengthof. No functional change.Eli Friedman2011-05-061-3/+1
| | | | llvm-svn: 131008
* Iterate backwards over debug locations when splitting them so they can be ↵Jakob Stoklund Olesen2011-05-061-1/+4
| | | | | | | | safely erased. This should unbreak dragonegg-i386-linux and build-self-4-mingw32. llvm-svn: 131007
* Typo: Reviewed by Alistair.Andrew Trick2011-05-061-1/+1
| | | | llvm-svn: 131001
* Update LiveDebugVariables after live range splitting.Jakob Stoklund Olesen2011-05-064-3/+165
| | | | | | | | | | | | After a virtual register is split, update any debug user variables that resided in the old register. This ensures that the LiveDebugVariables are still correct after register allocation. This may create DBG_VALUE instructions that place a user variable in a register in parts of the function and in a stack slot in other parts. DwarfDebug currently doesn't support that. llvm-svn: 130998
* Use TargetMachine hooks to properly print debug variable locations.Jakob Stoklund Olesen2011-05-061-6/+7
| | | | llvm-svn: 130997
* Also count identity copies.Jakob Stoklund Olesen2011-05-061-0/+2
| | | | llvm-svn: 130996
* Post-RA scheduler compile time fix. Quadratic computation of DAG node depth.Andrew Trick2011-05-061-4/+10
| | | | | | | | | | | The post-ra scheduler was explicitly updating the depth of a node's successors after scheduling it, regardless of whether the successor was ready. This is quadratic for DAGs with transitively redundant edges. I simply removed the useless update of depth, which is lazilly computed later. Fixes <rdar://problem/9044332> compiler takes way too long to build TextInput. llvm-svn: 130992
* Move CompileUnit::getOrCreateNameSpace() and CompileUnit::addPubType() from ↵Devang Patel2011-05-062-34/+35
| | | | | | DwarfDebug.cpp to DwarfCompileUnit.cpp llvm-svn: 130991
* Nothing else uses this label.Rafael Espindola2011-05-061-3/+0
| | | | llvm-svn: 130989
* Yet more dead code.Rafael Espindola2011-05-061-13/+0
| | | | llvm-svn: 130988
* Update comments.Rafael Espindola2011-05-061-2/+2
| | | | llvm-svn: 130987
* More dead code elimination.Rafael Espindola2011-05-061-71/+0
| | | | llvm-svn: 130985
* Dead code elimination.Rafael Espindola2011-05-066-116/+4
| | | | llvm-svn: 130984
* PTX: add PTX 2.3 language targetJustin Holewinski2011-05-063-1/+7
| | | | | | Patch by Wei-Ren Chen llvm-svn: 130980
* Fix PR9820: a read-only call differs from a load in that a load doesn'tDuncan Sands2011-05-061-6/+9
| | | | | | | return the pointer being dereferenced, it returns the pointee, but a call might return the pointer itself. llvm-svn: 130979
* Re-revert r130877; it's apparently causing a regression on 197.parser,Eli Friedman2011-05-061-50/+27
| | | | | | possibly related to cbnz formation. llvm-svn: 130977
* The computation of string length is not that complicated. Fix it, again. :)Nick Lewycky2011-05-051-1/+1
| | | | llvm-svn: 130967
* Remove DwarfTableException.Rafael Espindola2011-05-054-413/+1
| | | | llvm-svn: 130964
* Remove the DwarfTable enum.Rafael Espindola2011-05-052-4/+0
| | | | llvm-svn: 130959
* In debug output, clearly list new instructions without DebugLoc.Devang Patel2011-05-051-36/+2
| | | | llvm-svn: 130957
* Remove little used statistical counter.Devang Patel2011-05-051-29/+0
| | | | llvm-svn: 130955
* PR9838: Fix transform introduced in r127064 to not trigger when only one ↵Eli Friedman2011-05-052-2/+2
| | | | | | side of the icmp is an exact shift. llvm-svn: 130954
* Move PPC Linux to CFI.Rafael Espindola2011-05-051-1/+1
| | | | llvm-svn: 130951
* Implement a really simple DwarfSjLjException.Rafael Espindola2011-05-054-0/+68
| | | | llvm-svn: 130947
* List all exception types in a switch.Rafael Espindola2011-05-051-14/+15
| | | | llvm-svn: 130944
* ARM post RA scheduler compile time fix.Andrew Trick2011-05-051-0/+12
| | | | | | | | | | | | | | BuildSchedGraph was quadratic in the number of calls in the basic block. After this fix, it keeps only a single call at the top of the DefList so compile time doesn't blow up on large blocks. This reduces postRA sched time on an external test case from 81s to 0.3s. Although r130800 (reduced ARM register alias defs) also partially fixes the issue by reducing the constant overhead of checking call interference by an order of magnitude. Fixes <rdar://problem/7662664> very poor compile time with post RA scheduling. llvm-svn: 130943
* whitespaceAndrew Trick2011-05-051-16/+16
| | | | llvm-svn: 130942
* Don't produce a __debug_frame.Rafael Espindola2011-05-051-1/+1
| | | | | | | I tested both gdb on a bootstrapped clang and and the gdb testsuite on OS X (snow leopard) and both are happy using __eh_frame. llvm-svn: 130937
OpenPOWER on IntegriCloud