summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* During SelectionDAG building explicitly set a node to constant zero when theQuentin Colombet2013-06-185-5/+49
| | | | | | | | | | | | value is zero. This allows optmizations to kick in more easily. Fix some test cases so that they remain meaningful (i.e., not completely dead coded) when optimizations apply. <rdar://problem/14096009> superfluous multiply by high part of zero-extended value. llvm-svn: 184222
* Mips ELF: Mark object file as ABI compliant Jack Carter2013-06-184-12/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When producing objects that are abi compliant we are marking neither the object file nor the assembly file correctly and thus generate warnings. We need to set the EF_CPIC flag in the ELF header when generating direct object. Note that the warning is only generated when compiling without PIC. When compiling with clang the warning will be suppressed by supplying: -Wa,-mno-shared -Wa,-call_nonpic Also the following directive should also be added: .option pic0 when compiling without PIC, This eliminates the need for supplying: -mno-shared -call_nonpic on the assembler command line. Patch by Douglas Gilmore llvm-svn: 184220
* Remove uniqueID from PathV1.h.Rafael Espindola2013-06-183-11/+1
| | | | llvm-svn: 184219
* Add a GetUniqueID that will replace the uniqueID of PathV1.h.Rafael Espindola2013-06-183-0/+28
| | | | llvm-svn: 184217
* Reduce indentation.David Blaikie2013-06-181-53/+55
| | | | llvm-svn: 184213
* Convert most uses of PathV1.h in ToolRunner.cpp.Rafael Espindola2013-06-181-25/+35
| | | | llvm-svn: 184210
* Add support for encoding the HLE XACQUIRE and XRELEASE prefixes.Stefanus Du Toit2013-06-183-0/+22
| | | | | | | | For decoding, keep the current behavior of always decoding these as their REP versions. In the future, this could be improved to recognize the cases where these behave as XACQUIRE and XRELEASE and decode them as such. llvm-svn: 184207
* Add a version of unique_file that return just the file name.Rafael Espindola2013-06-184-20/+19
| | | | llvm-svn: 184206
* Return a std::string from PrependMainExecutablePath.Rafael Espindola2013-06-181-6/+7
| | | | llvm-svn: 184204
* Remove PathV1.h use from BugDriver.cpp.Rafael Espindola2013-06-181-3/+2
| | | | llvm-svn: 184203
* Remove use of PathV1.h from ExecutionDriver.cpp.Rafael Espindola2013-06-181-24/+37
| | | | llvm-svn: 184202
* Scan the successor blocks and use the PHI nodes as a hint for possible chain ↵Nadav Rotem2013-06-181-6/+40
| | | | | | roots. llvm-svn: 184201
* Add a return value to make this function more useful.Nadav Rotem2013-06-182-2/+4
| | | | llvm-svn: 184200
* Remove usage of PathV1.h from OptimizerDriver.cpp.Rafael Espindola2013-06-181-26/+32
| | | | llvm-svn: 184198
* Convert some uses of eraseFromDisk.Rafael Espindola2013-06-181-3/+3
| | | | llvm-svn: 184196
* Don't use PathV1.h in tools/bugpoint/Miscompilation.cpp.Rafael Espindola2013-06-183-30/+49
| | | | llvm-svn: 184193
* Basic support for parsing Mach-O universal binaries in LLVMObject libraryAlexey Samsonov2013-06-1817-4/+312
| | | | llvm-svn: 184191
* Don't convert object_error's enum to and from int.Rafael Espindola2013-06-182-16/+16
| | | | | | | This allows the compiler to see the enum and warn about it. While in here, fix a switch to not use a default and fix style violations. llvm-svn: 184186
* ARM: fix literal load with positive offset encodingAmaury de la Vieuville2013-06-184-6/+27
| | | | | | | | | | | | When using a positive offset, literal loads where encoded as if it was negative, because: - The sign bit was not assigned to an operand - The addrmode_imm12 operand was not encoding the sign bit correctly This patch also makes the assembler look at the .w/.n specifier for loads. llvm-svn: 184182
* ARM: add operands pre-writeback variants when neededAmaury de la Vieuville2013-06-184-40/+77
| | | | llvm-svn: 184181
* ARM: fix thumb literal loads decodingAmaury de la Vieuville2013-06-184-31/+293
| | | | | | | | This fixes two previous issues: - Negative offsets were not correctly disassembled - The decoded opcodes were not the right one llvm-svn: 184180
* ARM: thumb stores cannot use PC as dest registerAmaury de la Vieuville2013-06-182-0/+74
| | | | llvm-svn: 184179
* Hopefully fix the MSVS build after r184105Timur Iskhodzhanov2013-06-181-0/+1
| | | | llvm-svn: 184178
* Use pointers to the MCAsmInfo and MCRegInfo.Bill Wendling2013-06-1830-199/+195
| | | | | | | | | Someone may want to do something crazy, like replace these objects if they change or something. No functionality change intended. llvm-svn: 184175
* Fix nondeterminism in .gcno file generation.Nick Lewycky2013-06-181-9/+25
| | | | llvm-svn: 184174
* Remove dead prototype.Bill Wendling2013-06-181-2/+0
| | | | llvm-svn: 184173
* Simplify some of the code. No functionality change.Bill Wendling2013-06-181-7/+5
| | | | llvm-svn: 184172
* remove some @deprecated markers: LLVM APIs aren't deprecated, they are ↵Chris Lattner2013-06-182-5/+0
| | | | | | | | | | removed when obsolete. These APIs are still used, and the constant APIs are actually really important. Removing these makes -Wdocumentation more useful. llvm-svn: 184170
* Build Apple's llvmCore with --disable-zlib. <rdar://problem/14182316>Bob Wilson2013-06-181-1/+2
| | | | llvm-svn: 184164
* [yaml2obj][ELF] Factor out string table section creation.Sean Silva2013-06-181-11/+14
| | | | llvm-svn: 184162
* [yaml2obj][ELF] Refer specifically to the section header string table.Sean Silva2013-06-181-17/+17
| | | | | | | | | | | | | | | A bug in libObject will cause it to assert() if a symbol table's string table and the section header string table are the same section, so we need to ensure that we emit two different string tables (among other things). The problematic code is the hardcoded usage of ".strtab" (`dot_strtab_sec`) for looking up symbol names in ELFObjectFile<ELFT>::getSymbolName. I discussed this with Michael, and he has some local improvements to the ELF code in libObject that, among other things, should fix our handling of this scenario. llvm-svn: 184161
* [yaml2obj][ELF] Ensure more fields are zero'd.Sean Silva2013-06-181-0/+2
| | | | | | | | | | | | I was spotting garbage in the output. I'd like to just zero the entire ELFYAML::Section to be sure, but it contains non-POD types. (I'm also trying to avoid bloating the ELFYAML::Foo classes with a bunch of constructor code). No test, since this is by its very nature unpredictable. I'm pretty sure that one of the sanitizers would catch it immediately though. llvm-svn: 184160
* Fix the build with gcc 4.7 and -std=c++11.Rafael Espindola2013-06-171-1/+1
| | | | | | | | | | | The error message was: /home/espindola/llvm/llvm/tools/gold/gold-plugin.cpp: In function ‘ld_plugin_status cleanup_hook()’: /home/espindola/llvm/llvm/tools/gold/gold-plugin.cpp:461:30: error: cannot pass objects of non-trivially-copyable type ‘std::string {aka class std::basic_string<char>}’ through ‘...’ I will check if this was a clang or gcc issue. llvm-svn: 184138
* Convert two uses of eraseFromDisk.Rafael Espindola2013-06-171-2/+2
| | | | llvm-svn: 184136
* MI-Sched: handle ReadAdvance latencies as used by Swift.Andrew Trick2013-06-171-1/+4
| | | | llvm-svn: 184135
* Reenable, improve, and add MI-Sched unit tests.Andrew Trick2013-06-173-15/+60
| | | | llvm-svn: 184134
* Give RegMax higher priority.Andrew Trick2013-06-171-9/+9
| | | | llvm-svn: 184133
* Remove compareRPDelta.Andrew Trick2013-06-171-37/+0
| | | | | | A complex, expensive heuristic with little value in the current design. llvm-svn: 184132
* MI Sched: fix a typo in RegPressure heuristics.Andrew Trick2013-06-171-1/+1
| | | | llvm-svn: 184131
* MI-Sched: Remove another heuristic that is sensitive to queue order.Andrew Trick2013-06-171-6/+0
| | | | llvm-svn: 184130
* MI-Sched: Track multiple candidates with the same priority level.Andrew Trick2013-06-171-32/+25
| | | | | | | | This eliminates the MultiPressure scheduling "reason". It was sensitive to queue order. We don't like being sensitive to queue order. llvm-svn: 184129
* Remove usage of PathV1.h in FindBugs.cpp.Rafael Espindola2013-06-171-2/+2
| | | | llvm-svn: 184122
* Directly access objects which may change during compilation.Bill Wendling2013-06-176-52/+99
| | | | llvm-svn: 184121
* Reapply r183985 now that the missing check was added to PathV2.Rafael Espindola2013-06-171-3/+5
| | | | llvm-svn: 184120
* Only delete regular files and directories.Rafael Espindola2013-06-171-0/+16
| | | | | | | | This ports a missing feature from PathV1.h. I am not sure how to test this with the regular infrastructure, but an Apple bot should check this when r183985 is reapplied. llvm-svn: 184119
* R600: PV stores Reg id, not indexVincent Lejeune2013-06-172-1/+51
| | | | llvm-svn: 184117
* R600: Properly set COUNT_3 bit in TEX clause initiating inst for pre EG gen.Vincent Lejeune2013-06-172-14/+60
| | | | | | | Fixes rv7x0 bug in Heaven reported here: https://bugs.freedesktop.org/show_bug.cgi?id=64257 llvm-svn: 184116
* [yaml2obj][ELF] Exit with error status on error.Sean Silva2013-06-171-9/+8
| | | | llvm-svn: 184115
* Revert "Remove a use of PathV1.h."Rafael Espindola2013-06-171-5/+3
| | | | | | | | This reverts commit r183985. We were missing the checks for not deleting things like /dev/null. llvm-svn: 184111
* Don't use PathV1.h in CrashDebugger.cpp.Rafael Espindola2013-06-171-8/+5
| | | | llvm-svn: 184109
OpenPOWER on IntegriCloud