- Jan 29, 2014
-
-
Rafael Espindola authored
This is a bit more convenient for some callers, but more importantly, it is easier to implement correctly. Doing this removes the patching of already printed data that was used for fastcall, fixing a crash with private fastcall symbols. llvm-svn: 200367
-
Kevin Qin authored
When the scalar compare is between floating point and operands are vector, we custom lower SELECT_CC to use NEON SIMD compare for generating less instructions. llvm-svn: 200365
-
David Woodhouse authored
llvm-svn: 200361
-
Mark Seaborn authored
The default value of this attribute is PTHREAD_PROCESS_PRIVATE, so there's no point in calling pthread_mutexattr_setpshared() to set that. See: http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_mutexattr_getpshared.html This removes some ifdefs that tend to need to be extended for other platforms (e.g. for NaCl). Note that this call was in the first implementation of Mutex, added in r22403, so it doesn't appear to have been added in response to a performance problem. Differential Revision: http://llvm-reviews.chandlerc.com/D2633 llvm-svn: 200360
-
David Majnemer authored
Use an RAII object Instead of inserting a call to AsmLexer::setSkipSpace(true) in all error paths. No functional change. llvm-svn: 200358
-
Rafael Espindola authored
This will be better with c++11, but right now file_magic converts to bool, which makes the api really easy to misuse. llvm-svn: 200357
-
David Woodhouse authored
Oops. Don't do build tests on patches like that with --enable-targets=x86_64 llvm-svn: 200355
-
Rafael Espindola authored
I assume that the name is file_type because it is the name of a c++11 type that we will use once we convert, but at least our current implementation can look like llvm code. Thanks to David Blakie for the push. llvm-svn: 200354
-
Nick Kledzik authored
llvm-svn: 200353
-
Rafael Espindola authored
llvm-svn: 200352
-
David Woodhouse authored
1. test that inlineasm works 2. test that relaxable instructions are re-encoded in the correct mode. llvm-svn: 200351
-
David Woodhouse authored
The subtarget info is explicitly passed to the EncodeInstruction method and we should use that subtarget info to influence any encoding decisions. llvm-svn: 200350
-
David Woodhouse authored
llvm-svn: 200349
-
David Woodhouse authored
llvm-svn: 200348
-
David Woodhouse authored
Needed to fix PR18303 to correctly re-encode the instruction if it is relaxed. We keep a copy of the MCSubtargetInfo to make sure that we are not effected by future changes to the subtarget info coming from the assembler (e.g. when parsing .code 16 directived). llvm-svn: 200347
-
David Woodhouse authored
Add MCSubtargetInfo parameter virtual void EmitInstToFragment(const MCInst &Inst, const MCSubtargetInfo &); virtual void EmitInstToData(const MCInst &Inst, const MCSubtargetInfo &); llvm-svn: 200346
-
David Woodhouse authored
llvm-svn: 200345
-
- Jan 28, 2014
-
-
Timur Iskhodzhanov authored
llvm-svn: 200341
-
Timur Iskhodzhanov authored
Reviewed at http://llvm-reviews.chandlerc.com/D2232 llvm-svn: 200340
-
Owen Anderson authored
llvm-svn: 200335
-
Nick Kledzik authored
llvm-svn: 200333
-
Matheus Almeida authored
As opposed to GCC/GAS the default ABI for Mips64 is n64. Compatibility bit should be set if o32 ABI is used when targeting Mips64. llvm-svn: 200332
-
Nick Kledzik authored
Makes it easy to use BumpPtrAllocator to make a copy of StringRef strings. llvm-svn: 200331
-
Gautam Chakrabarti authored
The code was missing the case for aggregate parameters and hence was emitting them as .b0 type. Also fixed a couple of comments. llvm-svn: 200325
-
Andrea Di Biagio authored
This improves the fix committed at revision 199683 adding the following new target specific combine rules: 1) fold (v4i32: vselect <0,0,-1,-1>, A, B) -> (v4i32 (bitcast (movsd (v2i64 (bitcast A)), (v2i64 (bitcast B))) )) 2) fold (v4f32: vselect <0,0,-1,-1>, A, B) -> (v4f32 (bitcast (movsd (v2f64 (bitcast A)), (v2f64 (bitcast B))) )) 3) fold (v4i32: vselect <-1,-1,0,0>, A, B) -> (v4i32 (bitcast (movsd (v2i64 (bitcast B)), (v2i64 (bitcast A))) )) 4) fold (v4f32: vselect <-1,-1,0,0>, A, B) -> (v4f32 (bitcast (movsd (v2i64 (bitcast B)), (v2i64 (bitcast A))) )) llvm-svn: 200324
-
Adrian Prantl authored
llvm-svn: 200323
-
Rafael Espindola authored
When simplifycfg moves an instruction, it must drop metadata it doesn't know is still valid with the preconditions changes. In particular, it must drop the range and tbaa metadata. The patch implements this with an utility function to drop all metadata not in a white list. llvm-svn: 200322
-
Aaron Ballman authored
The llvm_headers_do_not_build project needs to be excluded from the default build, otherwise it gets built (at least in Visual Studio 2013). Thanks to chapuni200000 for help with this in IRC! llvm-svn: 200321
-
Andrea Di Biagio authored
Make sure that we don't introduce illegal build_vector dag nodes when trying to fold a sign_extend of a build_vector. This fixes a regression introduced by r200234. Added test CodeGen/X86/fold-vector-sext-crash.ll to verify that llc no longer crashes with an assertion failure due to an illegal build_vector of type MVT::v4i64. Thanks to Ilia Filippov for spotting this regression and for providing a reproducible test case. llvm-svn: 200313
-
NAKAMURA Takumi authored
[CMake] llvm_update_compile_flags(name) doesn't require source files. TARGET PROPERTY SOURCES has them. llvm-svn: 200311
-
Iain Sandoe authored
At present, this handles .tc (error) and needs to be expanded to deal properly with .machine llvm-svn: 200309
-
NAKAMURA Takumi authored
It is the final step to deprecate contextual CMAKE_CXX_FLAGS. llvm-svn: 200303
-
NAKAMURA Takumi authored
[CMake] Enhance llvm_update_compile_flags(name sources) to handle LLVM_REQUIRES_EH and LLVM_REQUIRES_RTTI. LLVM_REQUIRES_EH implies LLVM_REQUIRES_RTTI. It is as same behavior as Makefile.rule's. llvm/examples/ExceptionDemo is affected. (It was built with -fno-rtti.) For MSVC, Remove flags like "/EHsc /GR" in HandleLLVMOptions, or CL.EXE complains with flags like "/GR /GR-". llvm_update_compile_flags() updates source file property if the target contains *.c. COMPILE_FLAGS in target properties affects both C++ and C! LLVM_NO_RTTI is deprecated. It was introduced by me and was my mistake. llvm-svn: 200301
-
NAKAMURA Takumi authored
llvm-svn: 200300
-
NAKAMURA Takumi authored
With this tweaks, also unittests are compiled with -ffunction-sections. It's hard to control contextual CMAKE_CXX_FLAGS. We should get rid of twiddling it as possible. llvm-svn: 200299
-
NAKAMURA Takumi authored
llvm-svn: 200298
-
NAKAMURA Takumi authored
llvm-svn: 200297
-
Chandler Carruth authored
vectorizer, placing it behind an off-by-default flag. It turns out that block frequency isn't what we want at all, here or elsewhere. This has been I think a nagging feeling for several of us working with it, but Arnold has given some really nice simple examples where the results are so comprehensively wrong that they aren't useful. I'm planning to email the dev list with a summary of why its not really useful and a couple of ideas about how to better structure these types of heuristics. llvm-svn: 200294
-
Hal Finkel authored
GPRC_NOR0 is not a subclass of GPRC (because it also contains the ZERO pseudo register). As a result, we also need to check for it in the spilling code. llvm-svn: 200288
-
Craig Topper authored
Improve handling of EnforceSmallerThan. Remove all types that are smaller from the larger set not just the smallest type from the smaller set. Ensure 'smaller' vectors have the same or fewer total bits. Similar for 'larger' vectors. llvm-svn: 200287
-