aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* Pull in r165377 from upstream llvm trunk:Dimitry Andric2012-10-301-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | X86: fcmov doesn't handle all possible EFLAGS, fall back to a branch for the others. Otherwise it will try to use SSE patterns and fail horribly if sse is disabled. Fixes PR14035. This should fix the following assertion failure: Assertion failed: (Reg >= X86::FP0 && Reg <= X86::FP6 && "Expected FP register!"), function getFPReg, file contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp, line 330. which can show up when compiling contrib/compiler-rt, using -march=i686 through -march=pentium3 (CPU's which do support fcmov, but don't support SSE2). MFC after: 1 week Notes: svn path=/head/; revision=242380
* Pull in r165878 from upstream llvm trunk:Dimitry Andric2012-10-221-1/+3
| | | | | | | | | | | | X86: Disable long nops for all cpus prior to pentiumpro/i686. This is the safest approach for now. If you think long nops matter a lot for performance, compile with -march=i686 or higher. :) MFC after: 3 days Notes: svn path=/head/; revision=241895
* Pull in r164132 from upstream llvm trunk:Dimitry Andric2012-10-1010-40/+58
| | | | | | | | | | | | | | | | | | | | When creating MCAsmBackend pass the CPU string as well. In X86AsmBackend store this and use it to not emit long nops when the CPU is geode which doesnt support them. Fixes PR11212. Pull in r164133 from upstream clang trunk: Follow up on llvm r164132. This should prevent illegal instructions when building world on Geode CPUs (e.g. Soekris). MFC after: 3 days Notes: svn path=/head/; revision=241430
* Pull in r163710 from upstream llvm trunk:Dimitry Andric2012-10-101-0/+1
| | | | | | | | | Add support for AMD Geode. MFC after: 3 days Notes: svn path=/head/; revision=241427
* Pull in r163967 from upstream llvm trunk:Dimitry Andric2012-09-151-0/+2
| | | | | | | | | | | | X86: Emitting x87 fsin/fcos for sinf/cosf is not safe without unsafe fp math. This should make clang emit calls to libm for sinf/cosf by default. MFC after: 1 week Notes: svn path=/head/; revision=240531
* Upgrade our copy of llvm/clang to trunk r162107. With thanks toDimitry Andric2012-08-20396-19006/+46662
| | | | | | | Benjamin Kramer and Joerg Sonnenberger for their input and fixes. Notes: svn path=/head/; revision=239462
* Upgrade our copy of llvm/clang to r155985, from upstream's release_31Dimitry Andric2012-05-0357-7799/+1830
| | | | | | | | | | branch. This brings us very close to the 3.1 release, which is planned for May 14th. MFC after: 2 weeks Notes: svn path=/head/; revision=234982
* Upgrade our copy of llvm/clang to trunk r154661, in preparation of theDimitry Andric2012-04-16630-35968/+65458
| | | | | | | | | | upcoming 3.1 release (expected in a few weeks). Preliminary release notes can be found at: <http://llvm.org/docs/ReleaseNotes.html> MFC after: 2 weeks Notes: svn path=/head/; revision=234353
* Pull in r148240 from upstream llvm trunk:Dimitry Andric2012-01-201-1/+1
| | | | | | | | | | | | | | Make sure the non-SSE lowering for fences correctly clobbers EFLAGS. PR11768. In particular, this fixes segfaults during the build of devel/icu on i386. The __sync_synchronize() builtin used for implementing icu's internal barrier could lead to incorrect behaviour. MFC after: 3 days Notes: svn path=/head/; revision=230393
* Upgrade our copy of llvm/clang to 3.0 release. Release notes can beDimitry Andric2011-12-0915-143/+377
| | | | | | | | | found at: http://llvm.org/releases/3.0/docs/ReleaseNotes.html MFC after: 1 week Notes: svn path=/head/; revision=228379
* Upgrade our copy of llvm/clang to r142614, from upstream's release_30Dimitry Andric2011-10-22410-22361/+31909
| | | | | | | | | | branch. This brings us very close to the 3.0 release, which is expected in a week or two. MFC after: 1 week Notes: svn path=/head/; revision=226633
* Upgrade our copy of llvm/clang to r135360, from upstream's trunk.Dimitry Andric2011-07-17362-7140/+10904
| | | | Notes: svn path=/head/; revision=224145
* Upgrade our copy of llvm/clang to r132879, from upstream's trunk.Dimitry Andric2011-06-12148-9671/+10979
| | | | Notes: svn path=/head/; revision=223017
* Upgrade our copy of llvm/clang to r130700, from upstream's trunk.Dimitry Andric2011-05-02211-5168/+12631
| | | | Notes: svn path=/head/; revision=221345
* Update llvm/clang to trunk r126547.Dimitry Andric2011-02-2748-380/+651
| | | | | | | | | | | | | | | | | There are several bugfixes in this update, but the most important one is to ensure __start_ and __stop_ symbols for linker sets and kernel module metadata are always emitted in object files: http://llvm.org/bugs/show_bug.cgi?id=9292 Before this fix, if you compiled kernel modules with clang, they would not be properly processed by kldxref, and if they had any dependencies, the kernel would fail to load those. Another problem occurred when attempting to mount a tmpfs filesystem, which would result in 'operation not supported by device'. Notes: svn path=/head/; revision=219077
* Upgrade our copy of llvm/clang to r126079, from upstream's trunk.Dimitry Andric2011-02-20462-45336/+61971
| | | | | | | | This contains many improvements, primarily better C++ support, an integrated assembler for x86 and support for -pg. Notes: svn path=/head/; revision=218893
* Remove more unneeded files and directories from contrib/llvm. ThisDimitry Andric2010-10-11115-9343/+0
| | | | | | | | | | still allows us to build tblgen and clang, and further reduces the footprint in the tree. Approved by: rpaulo (mentor) Notes: svn path=/head/; revision=213695
* Upgrade Clang and LLVM to the 2.8 release. See here for release notes:Dimitry Andric2010-10-072-12/+10
| | | | | | | | | http://llvm.org/releases/2.8/docs/ReleaseNotes.html Approved by: rpaulo (mentor) Notes: svn path=/head/; revision=213534
* Upgrade our Clang in base to r114020, from upstream's release_28 branch.Dimitry Andric2010-09-20217-7598/+10107
| | | | | | | Approved-by: rpaulo (mentor) Notes: svn path=/head/; revision=212904
* Upgrade our Clang in base to r108428.Ed Schouten2010-07-20217-11163/+13183
| | | | | | | | | | | | This commit merges the latest LLVM sources from the vendor space. It also updates the build glue to match the new sources. Clang's version number is changed to match LLVM's, which means /usr/include/clang/2.0 has been renamed to /usr/include/clang/2.8. Obtained from: projects/clangbsd Notes: svn path=/head/; revision=210299
* Import LLVM/clang from vendor stripped of docs/ test/ website/ www/ examples/Roman Divacky2010-06-09624-0/+213454
in llvm/ and/or llvm/contrib/clang/ respectively. Approved by: ed (mentor) Approved by: core Notes: svn path=/head/; revision=208954