- Feb 19, 2014
-
-
Eli Bendersky authored
The same code (~20 lines) for initializing a TargetOptions object from CodeGen cmdline flags is duplicated 4 times in 4 different tools. This patch moves it into a utility function. Since the CodeGen/CommandFlags.h file defines cl::opt flags in a header, it's a bit of a touchy situation because we should only link them into tools. So this patch puts the init function in the header. llvm-svn: 201699
-
Christian Pirker authored
llvm-svn: 201698
-
Daniel Sanders authored
llvm-svn: 201695
-
Daniel Sanders authored
This is consistent with the way CodeGen acheives this. However, CodeGen always selects mips32 (even when the architecture is mips64). llvm-svn: 201694
-
Christian Pirker authored
llvm-svn: 201692
-
Venkatraman Govindaraju authored
llvm-svn: 201690
-
Daniel Sanders authored
No functional change. llvm-svn: 201689
-
Rafael Espindola authored
Since r201608 got reverted, it is not safe to use private linkage in these cases until it is committed back. llvm-svn: 201688
-
Daniel Sanders authored
llvm-svn: 201684
-
Alexey Samsonov authored
Patch by Viktor Kutuzov! llvm-svn: 201683
-
Daniel Sanders authored
llvm-svn: 201682
-
Cameron McInally authored
llvm-svn: 201681
-
Logan Chien authored
According to http://gcc.gnu.org/projects/cxx0x.html, override and final keyword was added in gcc 4.7. Thus, we should not use these keywords in gcc 4.6 even when __GXX_EXPERIMENTAL_CXX0X__ is available. llvm-svn: 201679
-
Daniel Jasper authored
This causes the LLVMgold plugin to segfault. More information on the replies to r201608. llvm-svn: 201669
-
Tim Northover authored
If LLVM is built without X86 as a supported target then the test would mysteriously fail. llvm-svn: 201668
-
Tim Northover authored
Just a wild stab in the dark really, but in the absence of any ability to reproduce the problem... llvm-svn: 201658
-
Tim Northover authored
On x86, shifting a vector by a scalar is significantly cheaper than shifting a vector by another fully general vector. Unfortunately, because SelectionDAG operates on just one basic block at a time, the shufflevector instruction that reveals whether the right-hand side of a shift *is* really a scalar is often not visible to CodeGen when it's needed. This adds another handler to CodeGenPrepare, to sink any useful shufflevector instructions down to the basic block where they're used, predicated on a target hook (since on other architectures, doing so will often just introduce extra real work). rdar://problem/16063505 llvm-svn: 201655
-
Evgeniy Stepanov authored
This change also removes CMAKE_LINK_FLAGS setting that seems to be ignored by cmake. llvm-svn: 201654
-
Alexey Samsonov authored
llvm-svn: 201651
-
Craig Topper authored
Remove special FP opcode maps and instead add enough MRM_XX formats to handle all the FP operations. This increases format by 1 bit, but decreases opcode map by 1 bit so the TSFlags size doesn't change. llvm-svn: 201649
-
Craig Topper authored
llvm-svn: 201646
-
Craig Topper authored
llvm-svn: 201645
-
Craig Topper authored
Remove A6/A7 opcode maps. They can all be handled with a TB map, opcode of 0xa6/0xa7, and adding MRM_C0/MRM_E0 forms. Removes 376K from the disassembler tables. llvm-svn: 201641
-
Rui Ueyama authored
Load Configuration Table may contain a pointer to SEH table. This patch is to print the offset to the table. Printing SEH table contents is a TODO. The layout of Layout Configuration Table is described in Microsoft PE/COFF Object File Format Spec, but the table's offset/size descriptions seems to be totally wrong, at least in revision 8.3 of the spec. I believe the table in this patch is the correct one. llvm-svn: 201638
-
Mingjie Xing authored
llvm-svn: 201633
-
Saleem Abdulrasool authored
This enhances the macro parser to parse and handle parameter qualifications, which is needed to support required formal parameters in macro definitions. A required parameter may not be defaulted (though providing a default value is accepted with a warning). This improves GAS compatibility. Partially addresses PR9248. llvm-svn: 201630
-
Saleem Abdulrasool authored
Rather than using std::pair, create a structure to represent the type. This is a preliminary refactoring to enable required parameter handling. Additional state is needed to indicate required parameters. This has a minor side effect of improving readability by providing more accurate names compared to first and second. llvm-svn: 201629
-
Rafael Espindola authored
llvm-svn: 201625
-
Rafael Espindola authored
Now that llvm's codegen knows to use an 'l' prefix when needed, we can just use PrivateLinkage. llvm-svn: 201624
-
Rafael Espindola authored
When outputting an object we check its section to find its name, but when looking for the section with -ffunction-section we look for the symbol name. Break the loop by requesting a name with the private prefix when constructing the section name. This matches the behavior before r201608. llvm-svn: 201622
-
Sean Silva authored
Some references to llvm-gcc were so crusty that I wasn't sure how to proceed and so I've left them intact. I also slipped in a quick peephole fix to use a :doc: link instead of raw HTML link. llvm-svn: 201619
-
Sean Silva authored
From a cursory look it seems like all the described commandline options and such apply to clang just fine, but I'd appreciate a second opinion. llvm-svn: 201616
-
- Feb 18, 2014
-
-
Rafael Espindola authored
The IR @foo = private constant i32 42 is valid, but before this patch we would produce an invalid MachO from it. It was invalid because it would use an L label in a section where the liker needs the labels in order to atomize it. One way of fixing it would be to just reject this IR in the backend, but that would not be very front end friendly. What this patch does is use an 'l' prefix in sections that we know the linker requires symbols for atomizing them. This allows frontends to just use private and not worry about which sections they go to or how the linker handles them. One small issue with this strategy is that now a symbol name depends on the section, which is not available before codegen. This is not a problem in practice. The reason is that it only happens with private linkage, which will be ignored by the non codegen users (llvm-nm and llvm-ar). llvm-svn: 201608
-
Rafael Espindola authored
This is quiet a bit less confusing now that TargetData was renamed DataLayout. llvm-svn: 201606
-
Lang Hames authored
findOrEmitSection). Vaidas Gasiunas's patch, r201259, fixed one instance where we were always allocating sections as text. This patch fixes the remaining buggy call sites. No test case: This isn't breaking anything that I know of, it's just inconsistent. <rdar://problem/15943542> llvm-svn: 201605
-
Ana Pazos authored
llvm-svn: 201601
-
Daniel Sanders authored
Summary: This fixes several test failures when building LLVM on a MIPS host. The failures were: LLVM :: DebugInfo/enum.ll LLVM :: DebugInfo/inlined-arguments.ll LLVM :: DebugInfo/member-order.ll LLVM :: DebugInfo/namespace.ll LLVM :: DebugInfo/template-recursive-void.ll LLVM :: DebugInfo/tu-composite.ll LLVM :: DebugInfo/two-cus-from-same-file.ll LLVM :: Linker/type-unique-simple-a.ll LLVM :: Linker/type-unique-simple2.ll Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2721 llvm-svn: 201582
-
Rafael Espindola authored
TargetData was renamed DataLayout back in r165242. llvm-svn: 201581
-
Marshall Clow authored
llvm-svn: 201573
-
Robert Lytton authored
llvm-svn: 201563
-