summaryrefslogtreecommitdiffstats
path: root/llvm/include
Commit message (Collapse)AuthorAgeFilesLines
* Revert commit 131534 since it seems to have broken several buildbots.Duncan Sands2011-05-181-71/+86
| | | | | | | | Original log entry: Refactor getActionType and getTypeToTransformTo ; place all of the 'decision' code in one place. llvm-svn: 131536
* Refactor getActionType and getTypeToTransformTo ; place all of the 'decision'Nadav Rotem2011-05-181-86/+71
| | | | | | code in one place. llvm-svn: 131534
* While thinking about how to know where the functions' boundaries are forCharles Davis2011-05-181-2/+3
| | | | | | | | | the purposes of the Win64 EH tables, I realized we had no way to tell where the function ends. (MASM bounds functions with PROC and ENDP keywords.) Add a directive to delimit the end of the function, and rename the 'frame' directive to more accurately reflect its duality with the new directive. llvm-svn: 131522
* Conditionalize the format of the GCOV files by target type. Darwin uses the 4.2Bill Wendling2011-05-172-2/+3
| | | | | | format. llvm-svn: 131503
* Frame indices are signed. Update MachineOperand methods accordingly.Jim Grosbach2011-05-172-2/+2
| | | | llvm-svn: 131475
* Teach LiveInterval::isZeroLength about null SlotIndexes.Jakob Stoklund Olesen2011-05-161-2/+3
| | | | | | | | | | | | When instructions are deleted, they leave tombstone SlotIndex entries. The isZeroLength method should ignore these null indexes. This causes RABasic to sometimes spill a callee-saved register in the abi-isel.ll test, so don't run that test with -regalloc=basic. Prioritizing register allocation according to spill weight can cause more registers to be used. llvm-svn: 131436
* Delete unused variables.Dan Gohman2011-05-161-1/+1
| | | | llvm-svn: 131430
* Add a method I forgot in the last commit. Don't worry, this one passedCharles Davis2011-05-161-0/+1
| | | | | | self-host :). llvm-svn: 131421
* Make fast-isel work correctly s/uadd.with.overflow intrinsics.Eli Friedman2011-05-161-1/+1
| | | | llvm-svn: 131420
* Basic fast-isel of extractvalue. Not too helpful on its own, given the IR ↵Eli Friedman2011-05-161-0/+2
| | | | | | clang generates for cases like this, but it should become more useful soon. llvm-svn: 131417
* sets bit 0 of the function address of thumb function in .symtabRafael Espindola2011-05-161-1/+2
| | | | | | | | | | ("T is 1 if the target symbol S has type STT_FUNC and the symbol addresses a Thumb instruction ;it is 0 otherwise." from "ELF for the ARM Architecture" 4.7.1.2) Patch by Koan-Sin Tan! llvm-svn: 131406
* Remove redundant template partial specilization.Zhongxing Xu2011-05-161-8/+1
| | | | llvm-svn: 131402
* Don't do tail calls in a function that call setjmp. The stack might beRafael Espindola2011-05-161-0/+4
| | | | | | corrupted when setjmp returns again. llvm-svn: 131399
* Add stub methods to MCStreamer for emitting Win64 exception-handlingCharles Davis2011-05-151-0/+8
| | | | | | information. llvm-svn: 131382
* Get rid of extern "C" from the Win64 EH header.Charles Davis2011-05-151-4/+0
| | | | llvm-svn: 131381
* Add a header containing definitions used to implement Win64 exception handling.Charles Davis2011-05-151-0/+100
| | | | llvm-svn: 131380
* Declare this function here so that it doesn't get C++ mangling.Nick Lewycky2011-05-151-0/+2
| | | | llvm-svn: 131379
* Add an operator+= for appending StringRefs onto std::strings.John McCall2011-05-131-0/+4
| | | | | | | Previously this pattern would be compiled using an implicit conversion to std::string. llvm-svn: 131325
* ExecutionEngine: push TargetMachine creation into clients (v2)Dylan Noblesmith2011-05-131-8/+2
| | | | | | | | 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: 131317
* ExecutionEngine: fix JIT/MCJIT selectTarget() duplication (v2)Dylan Noblesmith2011-05-131-0/+8
| | | | | | | This prepares for making JITCtor/MCJITCtor take a TargetMachine* directly from clients like EngineBuilder. llvm-svn: 131316
* Make codegen able to handle values of empty types. This is one wayRafael Espindola2011-05-131-0/+3
| | | | | | to fix PR9900. I will keep it open until sable is able to comment on it. llvm-svn: 131294
* Fix a source of non determinism in FindUsedTypes, use a SetVector instead of aJulien Lerouge2011-05-131-3/+3
| | | | | | | | set. rdar://9423996 llvm-svn: 131283
* Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.Devang Patel2011-05-122-4/+4
| | | | | | s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131244
* Let Objective-C front-end identify class extension, in dwarf output, using ↵Devang Patel2011-05-122-9/+14
| | | | | | an attribute DW_AT_APPLE_objc_class_extension. llvm-svn: 131238
* Re-commit 131172 with fix. MachineInstr identity checks should check deadEvan Cheng2011-05-121-0/+1
| | | | | | | | | markers. In some cases a register def is dead on one path, but not on another. This is passing Clang self-hosting. llvm-svn: 131214
* Bugpoint support for miscompilations that result in a crash.Andrew Trick2011-05-111-2/+5
| | | | | | | | | This change allows bugpoint to pinpoint the "opt" pass and bitcode segment responsible for a crash caused by miscompilation. At least it works well for me now, without having to create any custom execution wrappers. llvm-svn: 131186
* Give the 'eh.sjlj.dispatchsetup' intrinsic call the value coming from the setjmpBill Wendling2011-05-111-1/+1
| | | | | | | | intrinsic call. This prevents it from being reordered so that it appears *before* the setjmp intrinsic (thus making it completely useless). <rdar://problem/9409683> llvm-svn: 131174
* Fix comment.Bill Wendling2011-05-111-4/+4
| | | | llvm-svn: 131173
* Revert r131155 for now. It makes VMCore depend on Analysis and TransformsNick Lewycky2011-05-102-415/+150
| | | | | | headers. llvm-svn: 131159
* Add support for plugins add passes to the default set of passes. The ↵David Chisnall2011-05-102-150/+415
| | | | | | | | | | | | | | | standard set of passes used by front ends can now be modified by LLVM plugins, without needing to modify any front ends. Still to do: - Allow replacing / removing passes (infrastructure there, just needs an infrastructure exposed) - Defining sets of passes to be added or removed as a group - Extending the support to allow user-defined groups of optimisations - Allow plugins to be specified for loading automatically (e.g. from plugins.conf or some similar mechanism) Reviewed by Nick Lewycky. llvm-svn: 131155
* Rename DwarfRequiresRelocationForStmtList toRafael Espindola2011-05-101-5/+5
| | | | | | DwarfRequiresRelocationForSectionOffset as this is not specific to StmtList. llvm-svn: 131148
* Use .cfi_sections to put the unwind info in .debug_frame when possible. WithRafael Espindola2011-05-101-1/+6
| | | | | | | | | this clang will use .debug_frame in, for example, clang -g -c -m32 test.c This matches gcc's behaviour. It looks like .debug_frame is a bit bigger than .eh_frame, but has the big advantage of not being allocated. llvm-svn: 131140
* Add support for producing .deubg_frame sections.Rafael Espindola2011-05-102-1/+6
| | | | llvm-svn: 131121
* Factor some code into a new EmitFrames method.Rafael Espindola2011-05-101-0/+2
| | | | llvm-svn: 131119
* Parsing and plumbing for .cfi_sections.Rafael Espindola2011-05-101-0/+4
| | | | llvm-svn: 131117
* Change a few std::maps to DenseMaps.Dan Gohman2011-05-091-5/+5
| | | | llvm-svn: 131088
* Don't force relaxation of AdvanceLoc instructions on OS X. gdb is happy withRafael Espindola2011-05-081-2/+1
| | | | | | | the smaller encoding and this cuts 270336 bytes from a release version of clang and 1246272 bytes from a debug build. llvm-svn: 131067
* PR9869: Add explicit destructor declarations to Operator subclasses, to allowEli Friedman2011-05-081-8/+26
| | | | | | compiling Operator.h with gcc 4.6 in C++0x mode. llvm-svn: 131062
* Fix comments per Duncan's review.Eli Friedman2011-05-071-3/+3
| | | | llvm-svn: 131055
* Revert ExecutionEngine patches, they either failed to build or broke unit tests.Jakob Stoklund Olesen2011-05-071-10/+8
| | | | | | 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-1/+0
| | | | llvm-svn: 131031
* ExecutionEngine: push TargetMachine creation into clientsDylan Noblesmith2011-05-061-8/+2
| | | | | | | | 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-061-0/+8
| | | | | | | This prepares for making JITCtor/MCJITCtor take a TargetMachine* directly from clients like EngineBuilder. llvm-svn: 131025
* Make the logic for determining function alignment more explicit. No ↵Eli Friedman2011-05-061-3/+35
| | | | | | functionality change. llvm-svn: 131012
* Yet more dead code.Rafael Espindola2011-05-061-4/+0
| | | | llvm-svn: 130988
* Update comments.Rafael Espindola2011-05-061-1/+4
| | | | llvm-svn: 130987
* More dead code elimination.Rafael Espindola2011-05-061-2/+0
| | | | llvm-svn: 130985
* Dead code elimination.Rafael Espindola2011-05-061-7/+0
| | | | llvm-svn: 130984
* Remove the DwarfTable enum.Rafael Espindola2011-05-051-3/+2
| | | | llvm-svn: 130959
* Fix typo. No functional change.Nick Lewycky2011-05-051-1/+1
| | | | llvm-svn: 130949
OpenPOWER on IntegriCloud