summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/MBlaze
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove dead code. Improve llvm_unreachable text. Simplify some control flow.Ahmed Charles2012-02-191-2/+0
| | | | llvm-svn: 150918
* Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, ↵Jia Liu2012-02-1829-29/+29
| | | | | | MSP430, PPC, PTX, Sparc, X86, XCore. llvm-svn: 150878
* Make the EDis tables const.Benjamin Kramer2012-02-112-2/+2
| | | | llvm-svn: 150304
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-075-10/+6
| | | | llvm-svn: 149961
* Enable streaming of bitcodeDerek Schuff2012-02-062-2/+2
| | | | | | | This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. llvm-svn: 149918
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-051-0/+1
| | | | llvm-svn: 149814
* TargetPassConfig: confine the MC configuration to TargetMachine.Andrew Trick2012-02-042-8/+5
| | | | | | | | | | Passes prior to instructon selection are now split into separate configurable stages. Header dependencies are simplified. The bulk of this diff is simply removal of the silly DisableVerify flags. Sorry for the target header churn. Attempting to stabilize them. llvm-svn: 149754
* Added TargetPassConfig. The first little step toward configuring codegen passes.Andrew Trick2012-02-032-6/+28
| | | | | | | | | | | Allows command line overrides to be centralized in LLVMTargetMachine.cpp. LLVMTargetMachine can intercept common passes and give precedence to command line overrides. Allows adding "internal" target configuration options without touching TargetOptions. Encapsulates the PassManager. Provides a good point to initialize all CodeGen passes so that Pass ID's can be used in APIs. Allows modifying the target configuration hooks without rebuilding the world. llvm-svn: 149672
* Widen the instruction encoder that TblGen emits to a 64 bits, which should ↵Owen Anderson2012-01-241-1/+1
| | | | | | accomodate every target I can think of offhand. llvm-svn: 148833
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-206-19/+5
| | | | llvm-svn: 148578
* Ignore register mask operands when lowering instructions to MC.Jakob Stoklund Olesen2012-01-181-1/+4
| | | | | | | This is similar to implicit register operands. MC doesn't understand register liveness and call clobbers. llvm-svn: 148437
* Tidy up. MCAsmBackend naming conventions.Jim Grosbach2012-01-181-8/+8
| | | | llvm-svn: 148400
* Remove VectorExtras. This unused helper was written for a type of API that ↵Benjamin Kramer2012-01-071-1/+0
| | | | | | is discouraged now. llvm-svn: 147738
* Move the MBlaze ELF writer bits to lib/Target/MBlaze.Rafael Espindola2011-12-224-9/+85
| | | | llvm-svn: 147129
* Reduce the exposure of Triple::OSType in the ELF object writer. This willRafael Espindola2011-12-211-7/+8
| | | | | | | avoid including ADT/Triple.h in many places when the target specific bits are moved. llvm-svn: 147059
* Remove mode specific disassembler classes and just call ↵Craig Topper2011-12-211-2/+0
| | | | | | X86GenericDisassembler constructor with appropriate argument in the creation functions. This removes a few tables that needed to be anchored. llvm-svn: 147046
* Fix up the CMake build for the new files added in r146960, they'reChandler Carruth2011-12-201-0/+1
| | | | | | likely to stay either way that discussion ends up resolving itself. llvm-svn: 146966
* Unweaken vtables as per ↵David Blaikie2011-12-204-1/+18
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* Initial CodeGen support for CTTZ/CTLZ where a zero input produces anChandler Carruth2011-12-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | undefined result. This adds new ISD nodes for the new semantics, selecting them when the LLVM intrinsic indicates that the undef behavior is desired. The new nodes expand trivially to the old nodes, so targets don't actually need to do anything to support these new nodes besides indicating that they should be expanded. I've done this for all the operand types that I could figure out for all the targets. Owners of various targets, please review and let me know if any of these are incorrect. Note that the expand behavior is *conservatively correct*, and exactly matches LLVM's current behavior with these operations. Ideally this patch will not change behavior in any way. For example the regtest suite finds the exact same instruction sequences coming out of the code generator. That's why there are no new tests here -- all of this is being exercised by the existing test suite. Thanks to Duncan Sands for reviewing the various bits of this patch and helping me get the wrinkles ironed out with expanding for each target. Also thanks to Chris for clarifying through all the discussions that this is indeed the approach he was looking for. That said, there are likely still rough spots. Further review much appreciated. llvm-svn: 146466
* LLVMBuild: Introduce a common section which currently has a list of theDaniel Dunbar2011-12-121-0/+3
| | | | | | | | | | | subdirectories to traverse into. - Originally I wanted to avoid this and just autoscan, but this has one key flaw in that new subdirectories can not automatically trigger a rerun of the llvm-build tool. This is particularly a pain when switching back and forth between trees where one has added a subdirectory, as the dependencies will tend to be wrong. This will also eliminates FIXME implicitly. llvm-svn: 146436
* LLVMBuild: Remove trailing newline, which irked me.Daniel Dunbar2011-12-126-6/+0
| | | | llvm-svn: 146409
* Add bundle aware API for querying instruction properties and switch the codeEvan Cheng2011-12-072-11/+9
| | | | | | | | | | | | | | generator to it. For non-bundle instructions, these behave exactly the same as the MC layer API. For properties like mayLoad / mayStore, look into the bundle and if any of the bundled instructions has the property it would return true. For properties like isPredicable, only return true if *all* of the bundled instructions have the property. For properties like canFoldAsLoad, isCompare, conservatively return false for bundles. llvm-svn: 146026
* Move target-specific logic out of generic MCAssembler.Jim Grosbach2011-12-061-0/+17
| | | | | | | | Whether a fixup needs relaxation for the associated instruction is a target-specific function, as the FIXME indicated. Create a hook for that and use it. llvm-svn: 145881
* Move global variables in TargetMachine into new TargetOptions class. As an APINick Lewycky2011-12-023-10/+12
| | | | | | | | | | | | change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. llvm-svn: 145714
* build/CMake: Finish removal of add_llvm_library_dependencies.Daniel Dunbar2011-11-296-45/+0
| | | | llvm-svn: 145420
* Add several new instructions supported by the latest MicroBlaze.Wesley Peck2011-11-274-1/+53
| | | | | | These instructions are not generated by the backend yet, this will come in a later commit. llvm-svn: 145161
* Optimize comparison against 0 in conditional instructions.Wesley Peck2011-11-271-2/+156
| | | | | | Fix a couple of 80-column violations. llvm-svn: 145159
* Move code into anonymous namespaces.Benjamin Kramer2011-11-262-10/+6
| | | | llvm-svn: 145154
* Rename a couple of options and fix some simple typos.Wesley Peck2011-11-264-6/+6
| | | | llvm-svn: 145152
* Sink codegen optimization level into MCCodeGenInfo along side relocation modelEvan Cheng2011-11-163-11/+12
| | | | | | | and code model. This eliminates the need to pass OptLevel flag all over the place and makes it possible for any codegen pass to use this information. llvm-svn: 144788
* build: Attempt to rectify inconsistencies between CMake and LLVMBuild ↵Daniel Dunbar2011-11-122-2/+1
| | | | | | | | versions of explicit dependencies. - The hope is that we have a tool/test to verify these are accurate (and tight) soon. llvm-svn: 144444
* Remove the unnecessary dependency on libMBlazeCodeGen from ↵Benjamin Kramer2011-11-112-9/+2
| | | | | | libMBlazeDisassembler. llvm-svn: 144383
* LLVMBuild: Add explicit information on whether targets define an assembly ↵Daniel Dunbar2011-11-111-0/+3
| | | | | | printer, assembly parser, or disassembler. llvm-svn: 144344
* build/MBlazeDisassembler: Some compilers may generate an MBlaze disassemblerDaniel Dunbar2011-11-101-1/+7
| | | | | | | that depends on MBlazeCodeGen. This is a layering violation that should really be fixed. llvm-svn: 144321
* llvm-build: Add --native-target and --enable-targets options, and add logic toDaniel Dunbar2011-11-101-1/+0
| | | | | | | | | | handle defining the "magic" target related components (like native, nativecodegen, and engine). - We still require these components to be in the project (currently in lib/Target) so that we have a place to document them and hopefully make it more obvious that they are "magic". llvm-svn: 144253
* llvm-build: Add an explicit component type to represent targets.Daniel Dunbar2011-11-101-1/+1
| | | | | | - Gives us a place to hang target specific metadata (like whether the target has a JIT). llvm-svn: 144250
* Added invariant field to the DAG.getLoad method and changed all calls.Pete Cooper2011-11-081-1/+1
| | | | | | When this field is true it means that the load is from constant (runt-time or compile-time) and so can be hoisted from loops or moved around other memory accesses llvm-svn: 144100
* Simplify some uses of utohexstr.Benjamin Kramer2011-11-071-2/+1
| | | | | | As a side effect hex is printed lowercase instead of uppercase now. llvm-svn: 144013
* Replace (Lower|Upper)caseString in favor of StringRef's newest methods.Benjamin Kramer2011-11-061-6/+1
| | | | llvm-svn: 143891
* build/cmake: Use tblgen macro directly instead of llvm_tablegen, which justDaniel Dunbar2011-11-041-10/+10
| | | | | | added a layer of indirection with no value (not even conciseness). llvm-svn: 143727
* build: Add initial cut at LLVMBuild.txt files.Daniel Dunbar2011-11-036-0/+150
| | | | llvm-svn: 143634
* Move various generated tables into read-only memory, fixing up const ↵Benjamin Kramer2011-10-221-2/+2
| | | | | | correctness along the way. llvm-svn: 142726
* Use a SmallVector for intrinsic argument types.Benjamin Kramer2011-10-171-1/+1
| | | | llvm-svn: 142259
* Fix improperly formed assert() call.Jim Grosbach2011-10-171-1/+1
| | | | llvm-svn: 142239
* Ban rematerializable instructions with side effects.Jakob Stoklund Olesen2011-10-141-8/+10
| | | | | | | | | | TableGen infers unmodeled side effects on instructions without a pattern. Fix some instruction definitions where that was overlooked. Also raise an error if a rematerializable instruction has unmodeled side effects. That doen't make any sense. llvm-svn: 141929
* Build system infrastructure for multiple tblgens.Peter Collingbourne2011-10-061-10/+10
| | | | llvm-svn: 141266
* Fix a couple of 80 column violations.Wesley Peck2011-09-232-2/+3
| | | | | | patch contributed by Jia Liu! llvm-svn: 140391
* Fix some simple copy-paste errors in MBlaze ASM Parser and Makefile.Wesley Peck2011-09-212-2/+2
| | | | | | patch contributed by Jia Liu! llvm-svn: 140273
* These do not need to be conditional on the presence of CommentStream, as ↵Owen Anderson2011-09-211-1/+1
| | | | | | they have a fallback path now. llvm-svn: 140267
* In the disassembler C API, be careful not to confuse the comment streamer ↵Owen Anderson2011-09-211-1/+1
| | | | | | that the disassembler outputs annotations on with the streamer that the InstPrinter will print them on. llvm-svn: 140217
OpenPOWER on IntegriCloud