- Aug 27, 2013
-
-
Alexey Samsonov authored
Summary: 1) Make llvm-symbolizer properly symbolize files with split debug info (by using stanalone .dwo files). 2) Make DWARFCompileUnit parse and store corresponding .dwo file, if necessary. 3) Make bits of DWARF parsing more CompileUnit-oriented. Reviewers: echristo Reviewed By: echristo CC: bkramer, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1164 llvm-svn: 189329
-
Elena Demikhovsky authored
llvm-svn: 189326
-
Sylvestre Ledru authored
Thanks to Luca Falavigna for the help and most of the patch. llvm-svn: 189324
-
Charles Davis authored
Revert "Fix the build broken by r189315." and "Move everything depending on Object/MachOFormat.h over to Support/MachO.h." This reverts commits r189319 and r189315. r189315 broke some tests on what I believe are big-endian platforms. llvm-svn: 189321
-
David Blaikie authored
(this triggered Clang's -Wsometimes-uninitialized on the default path through the switch) llvm-svn: 189319
-
Charles Davis authored
llvm-svn: 189315
-
Charles Davis authored
Right now we have two headers for the Mach-O format. I'd like to get rid of one. Since the other object formats are all in Support, I chose to keep the Mach-O header in Support, and discard the other one. llvm-svn: 189314
-
Michael Gottesman authored
Noticed by Stephen Checkoway <s@pahtak.org>. llvm-svn: 189312
-
Kai Nacke authored
The code offset for unwind code SET_FPREG is wrong because it is set to constant 0. The fix is to do the same as for the other unwind codes: emit a label and later the absolute difference between the label and the begin of the prologue. Also enables the failing test case MC/COFF/seh.s Reviewed by Jim Grosbach, Charles Davis and Nico Rieck. llvm-svn: 189309
-
Eric Christopher authored
llvm-svn: 189301
-
Eric Christopher authored
off of the debug_info section even when split dwarf is enabled. llvm-svn: 189300
-
Owen Anderson authored
Remove an over-zealous assertion. A pointer type could be illegal if the target is prepared to custom-legalize pointer operands. This assertion was evaluated before the target would have a chance to do so, making it impossible. llvm-svn: 189299
-
Shuxin Yang authored
This API is proposed by Nick Kledzik. The semantic is: -------------------------------------------------------------------------- Generate code for merged module into an array of native object files. On success returns a pointer to an array of NativeObjectFile. The count parameter returns the number of elements in the array. Each element is a pointer/length for a generated mach-o/ELF buffer. The buffer is owned by the lto_code_gen_t and will be freed when lto_codegen_dispose() is called, or lto_codegen_compile() is called again. On failure, returns NULL (check lto_get_error_message() for details). extern const struct NativeObjectFile* lto_codegen_compile_parallel(lto_code_gen_t cg, size_t *count); --------------------------------------------------------------------------- This API is currently only called on OSX platform. Linux or other Unixes using GNU gold are not supposed to call this function, because on these systems, object files are fed back to linker via disk file instead of memory buffer. In this commit, lto_codegen_compile_parallel() simply calls lto_codegen_compile() to return a single object file. In the near future, this function is the entry point for compilation with partition. Linker can blindly call this function even if partition is turned off; in this case, compiler will return only one object file. llvm-svn: 189297
-
Eric Christopher authored
llvm-svn: 189296
-
Eric Christopher authored
MDNode more clear as just for a single argument. llvm-svn: 189294
-
Eric Christopher authored
is constructing from as an input and keep the same unique identifier. We can use this to connect items which must stay in the .o file (e.g. pubnames and pubtypes) to the skeleton cu rather than having duplicate unique numbers for the sections and needing to do lookups based on MDNode. llvm-svn: 189293
-
Eric Christopher authored
llvm-svn: 189292
-
Eric Christopher authored
can get it via the MDNode that's passed in. Save that instead. llvm-svn: 189291
-
Matt Arsenault authored
llvm-svn: 189290
-
Eric Christopher authored
it by default under linux or when we're trying to keep compatibility with old gdb versions. Fix testcase for option name change. llvm-svn: 189289
-
Eric Christopher authored
llvm-svn: 189288
-
Matt Arsenault authored
The builder inserts from before the insert point, not after, so this would insert before the last instruction in the bundle instead of after it. I'm not sure if this can actually be a problem with any of the current insertions. llvm-svn: 189285
-
Manman Ren authored
DICompositeType will have an identifier field at position 14. For now, the field is set to null in DIBuilder. For DICompositeTypes where the template argument field (the 13th field) was optional, modify DIBuilder to make sure the template argument field is set. Now DICompositeType has 15 fields. Update DIBuilder to use NULL instead of "i32 0" for null value of a MDNode. Update verifier to check that DICompositeType has 15 fields and the last field is null or a MDString. Update testing cases to include an extra field for DICompositeType. The identifier field will be used by type uniquing so a front end can genearte a DICompositeType with a unique identifer. llvm-svn: 189282
-
Nadav Rotem authored
This patch enables unrolling of loops when vectorization is legal but not profitable. We add a new class InnerLoopUnroller, that extends InnerLoopVectorizer and replaces some of the vector-specific logic with scalars. This patch does not introduce any runtime regressions and improves the following workloads: SingleSource/Benchmarks/Shootout/matrix -22.64% SingleSource/Benchmarks/Shootout-C++/matrix -13.06% External/SPEC/CINT2006/464_h264ref/464_h264ref -3.99% SingleSource/Benchmarks/Adobe-C++/simple_types_constant_folding -1.95% llvm-svn: 189281
-
- Aug 26, 2013
-
-
Eric Christopher authored
llvm-svn: 189279
-
Jim Grosbach authored
Now that fast-isel is in better shape, we can enable the machine verifier for these tests, too. rdar://12594152 llvm-svn: 189275
-
Jim Grosbach authored
Get the register class right for the TST instruction. This keeps the machine verifier happy, enabling us to turn it on for another test. rdar://12594152 llvm-svn: 189274
-
Bill Schmidt authored
llvm-svn: 189272
-
Jim Grosbach authored
Constant pool and global value reference instructions need more restricted register classes than plain GPR. rdar://12594152 llvm-svn: 189270
-
Jim Grosbach authored
The create machine code wasn't properly in SSA, which the machine verifier properly complains about. Now that fast-isel is closer to verifier clean, errors like this show up more clearly. Additionally, the Thumb pseudo tPICADD was used for both ARM and Thumb mode functions, which is obviously wrong. Fix that along the way. Test case is part of the following commit which will finish making an additional fast-isel test verifier clean an enable it for the regression test suite. This commit is separate since its not just a verifier cleanup, but an actual correctness issue. rdar://12594152 (for the fast-isel verifier aspects) llvm-svn: 189269
-
Bill Schmidt authored
Incremental improvement to fast-isel for PPC64. This allows us to select on ret, sext, and zext. Filling in sext/zext improves some of the existing logic in handling compare-immediates that needed extends. A simplified return convention for fast-isel is also added to the PPC64 calling conventions. All call/return processing for DAG selection is handled with custom code, so there isn't an existing CC to rely on here. The include of PPCGenCallingConv.inc causes compiler warnings due to the 32-bit calling conventions that are not used, so the dummy function "usePPC32CCs()" is added here to silence those. Test cases for the return and extend logic are added. llvm-svn: 189266
-
Yi Jiang authored
llvm-svn: 189265
-
Matt Arsenault authored
llvm-svn: 189264
-
Alexey Samsonov authored
llvm-svn: 189250
-
Alexey Samsonov authored
llvm-svn: 189249
-
Matt Arsenault authored
llvm-svn: 189248
-
Matt Arsenault authored
llvm-svn: 189234
-
Matt Arsenault authored
llvm-svn: 189233
-
Hans Wennborg authored
It looked misplaced in the main CMakeLists.txt file. llvm-svn: 189230
-
Tom Stellard authored
If we have a binary operation like ISD:ADD, we can set the result type equal to the result type of one of its operands rather than using TargetLowering::getPointerTy(). Also, any use of DAG.getIntPtrConstant(C) as an operand for a binary operation can be replaced with: DAG.getConstant(C, OtherOperand.getValueType()); llvm-svn: 189227
-