c18f4efc5dd24adcc653806455fc7ae8508e9c66 |
|
28-Jul-2013 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
Added encoding prefixes for KNL instructions (EVEX). Added 512-bit operands printing. Added instruction formats for KNL instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c208c43a8ac5bfd3ee09b048cbc3f760691cefad |
|
07-May-2013 |
Michael Kuperstein <michael.m.kuperstein@intel.com> |
Re-enable AVX detection on x64 platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3ff641f22215d0add0ab29648c7fca45af34ffda |
|
03-May-2013 |
Aaron Ballman <aaron@aaronballman.com> |
Unbreaking the non-x86 build bots by protecting the AVX test code properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f57563b61b0b3604a25c6388714068713e027e18 |
|
03-May-2013 |
Aaron Ballman <aaron@aaronballman.com> |
Correctly testing for AVX support in x86 based off code from Hosts.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d6ac8e9a03d8fa7115079d86192bc4529e8281aa |
|
25-Apr-2013 |
Preston Gurd <preston.gurd@intel.com> |
This patch adds the X86FixupLEAs pass, which will reduce instruction latency for certain models of the Intel Atom family, by converting instructions into their equivalent LEA instructions, when it is both useful and possible to do so. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f5ebc39fc5d69a800d38f8f6a585d06e61519ab0 |
|
03-Apr-2013 |
Eric Christopher <echristo@gmail.com> |
Formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c26392aa5d9c2dbca2909d6874d181455f8aeb8f |
|
29-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Add support of RDSEED defined in AVX2 extension git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5a8386e1dfc9897bde39be2519bb5a6949623f64 |
|
28-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Add ADX CPUID detection git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
1edadea42f6f5c393b4fdb9d7ce1cf7eb9c24ab4 |
|
27-Mar-2013 |
Preston Gurd <preston.gurd@intel.com> |
For the current Atom processor, the fastest way to handle a call indirect through a memory address is to load the memory address into a register and then call indirect through the register. This patch implements this improvement by modifying SelectionDAG to force a function address which is a memory reference to be loaded into a virtual register. Patch by Sriram Murali. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0ca1a7f177ffd29c0af49f23cc7bd5f0b56a60d0 |
|
26-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Add HLE target feature git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
675eb3b9ac547119f6db676ebdd172d40a797b1c |
|
26-Mar-2013 |
Michael Liao <michael.liao@intel.com> |
Add PREFETCHW codegen support - Add 'PRFCHW' feature defined in AVX2 ISA extension git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178040 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f8b80de1a952f14921c3137545e05575ea88e4ab |
|
27-Feb-2013 |
Nadav Rotem <nrotem@apple.com> |
Revert r176166 because it broke one of the lit tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176171 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e7c52282dd1b0f2d53c72c0036e28badb43221b6 |
|
27-Feb-2013 |
Nadav Rotem <nrotem@apple.com> |
std::string to StringRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
901d80065c9afa0ba33e8546c2e1e99a00aceb14 |
|
16-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Reinitialize the ivars in the subtarget so that they can be reset with the new features. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175336 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ba6867d0ce3de9b7b4385f98d215edfcd36c4b32 |
|
16-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Temporary revert of 175320. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
9be8b4fc92e1ace819a78db512c1f945c1471be7 |
|
16-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Reinitialize the ivars in the subtarget. When we're recalculating the feature set of the subtarget, we need to have the ivars in their initial state. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175320 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
789cb5df9ca61f8a3794a4fbde7cc020fd00a02a |
|
15-Feb-2013 |
Bill Wendling <isanbard@gmail.com> |
Use the 'target-features' and 'target-cpu' attributes to reset the subtarget features. If two functions require different features (e.g., `-mno-sse' vs. `-msse') then we want to honor that, especially during LTO. We can do that by resetting the subtarget's features depending upon the 'target-feature' attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7b672ed380cf44894f8b96c52558dcfc136af383 |
|
14-Feb-2013 |
Kay Tiong Khoo <kkhoo@perfwizard.com> |
added basic support for Intel ADX instructions -feature flag, instructions definitions, test cases git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175196 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a66f40a8cc685b2869e7f8d988f9a17439875ece |
|
30-Jan-2013 |
Evan Cheng <evan.cheng@apple.com> |
Restrict sin/cos optimization to 64-bit only for now. 32-bit is a bit messy and less critical. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
8688a58c53b46d2dda9bf50dafd5195790a7ed58 |
|
29-Jan-2013 |
Evan Cheng <evan.cheng@apple.com> |
Teach SDISel to combine fsin / fcos into a fsincos node if the following conditions are met: 1. They share the same operand and are in the same BB. 2. Both outputs are used. 3. The target has a native instruction that maps to ISD::FSINCOS node or the target provides a sincos library call. Implemented the generic optimization in sdisel and enabled it for Mac OSX. Also added an additional optimization for x86_64 Mac OSX by using an alternative entry point __sincos_stret which returns the two results in xmm0 / xmm1. rdar://13087969 PR13204 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c7b902e7fe3498503efbfd98cabb1b1c67cadda6 |
|
08-Jan-2013 |
Preston Gurd <preston.gurd@intel.com> |
Pad Short Functions for Intel Atom The current Intel Atom microarchitecture has a feature whereby when a function returns early then it is slightly faster to execute a sequence of NOP instructions to wait until the return address is ready, as opposed to simply stalling on the ret instruction until the return address is ready. When compiling for X86 Atom only, this patch will run a pass, called "X86PadShortFunction" which will add NOP instructions where less than four cycles elapse between function entry and return. It includes tests. This patch has been updated to address Nadav's review comments - Optimize only at >= O1 and don't do optimization if -Os is set - Stores MachineBasicBlock* instead of BBNum - Uses DenseMap instead of std::map - Fixes placement of braces Patch by Andy Zhang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5d1f5c17377e56d88a525cf82d02e6e5df254580 |
|
05-Jan-2013 |
Nadav Rotem <nrotem@apple.com> |
Revert revision 171524. Original message: URL: http://llvm.org/viewvc/llvm-project?rev=171524&view=rev Log: The current Intel Atom microarchitecture has a feature whereby when a function returns early then it is slightly faster to execute a sequence of NOP instructions to wait until the return address is ready, as opposed to simply stalling on the ret instruction until the return address is ready. When compiling for X86 Atom only, this patch will run a pass, called "X86PadShortFunction" which will add NOP instructions where less than four cycles elapse between function entry and return. It includes tests. Patch by Andy Zhang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
dd30b471750aca5c652873f9a8972df162b7e5eb |
|
04-Jan-2013 |
Preston Gurd <preston.gurd@intel.com> |
The current Intel Atom microarchitecture has a feature whereby when a function returns early then it is slightly faster to execute a sequence of NOP instructions to wait until the return address is ready, as opposed to simply stalling on the ret instruction until the return address is ready. When compiling for X86 Atom only, this patch will run a pass, called "X86PadShortFunction" which will add NOP instructions where less than four cycles elapse between function entry and return. It includes tests. Patch by Andy Zhang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0b8c9a80f20772c3793201ab5b251d3520b9cea3 |
|
02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171366 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2c0575f2f4ce9a2db1472ee9d17aff1b0b658960 |
|
10-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Fix a typo in my previous commit -- bloomfield is 0x1A not 0x2A. Thanks to the PaX folks for noticing in review! We need some tests here, any sugestions welcome... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169739 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
9f3f40f6efe7085999e800d1c562e400d8b2211c |
|
10-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Address a FIXME and update the fast unaligned memory feature for newer Intel chips. The model number rules were determined by inspecting Intel's documentation for their newer chip model numbers. My understanding is that all of the newer Intel chips have fast unaligned memory access, but if anyone is concerned about a particular chip, just shout. No tests updated; it's not clear we have dedicated tests for the chips' various features, but if anyone would like tests (or can point me at some existing ones), I'm happy to oblige. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169730 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
64f03673d20931b0c3c8f388988fc4dd29626182 |
|
09-Nov-2012 |
Roman Divacky <rdivacky@freebsd.org> |
Switch FreeBSD/i386 back to 4byte stack alignment. This partially reverts r126226. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
be02a90de17f857ba65bbd8a11653ca1bad30adc |
|
08-Nov-2012 |
Michael Liao <michael.liao@intel.com> |
Add support of RTM from TSX extension - Add RTM code generation support throught 3 X86 intrinsics: xbegin()/xend() to start/end a transaction region, and xabort() to abort a tranaction region git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167573 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
39817f9d393fdc29ec35fc8626d8b372415df414 |
|
08-Oct-2012 |
Andrew Trick <atrick@apple.com> |
misched: remove the unused getSpecialAddressLatency hook. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
bfcb4aa10b5948539f6ee59eecfe88faa9fc4e94 |
|
03-Oct-2012 |
Preston Gurd <preston.gurd@intel.com> |
Set up MCSchedModel after detecting the CPU type in X86SubTarget. Corrects a problem whereby MCSchedModel was not being set up when the CPU type was auto-detected. Patch by Andy Zhang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2e2efd960056bbb7e4bbd843c8de55116d52aa7d |
|
04-Sep-2012 |
Preston Gurd <preston.gurd@intel.com> |
Generic Bypass Slow Div - CodeGenPrepare pass for identifying div/rem ops - Backend specifies the type mapping using addBypassSlowDivType - Enabled only for Intel Atom with O2 32-bit -> 8-bit - Replace IDIV with instructions which test its value and use DIVB if the value is positive and less than 256. - In the case when the quotient and remainder of a divide are used a DIV and a REM instruction will be present in the IR. In the non-Atom case they are both lowered to IDIVs and CSE removes the redundant IDIV instruction, using the quotient and remainder from the first IDIV. However, due to this optimization CSE is not able to eliminate redundant IDIV instructions because they are located in different basic blocks. This is overcome by calculating both the quotient (DIV) and remainder (REM) in each basic block that is inserted by the optimization and reusing the result values when a subsequent DIV or REM instruction uses the same operands. - Test cases check for the presents of the optimization when calculating either the quotient, remainder, or both. Patch by Tyler Nowicki! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163150 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
de7f1c251705cad8dc86f498402045235ff8aaaa |
|
13-Aug-2012 |
Manman Ren <mren@apple.com> |
X86: when auto-detecting the subtarget features, make sure use IsIntel to detect Nehalem, Westmere and Sandy Bridge. AMD also has processor family 6. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
743a2cff0422031da007bcdc70ced28c09057aea |
|
11-Aug-2012 |
Manman Ren <mren@apple.com> |
X86: when we are auto-detecting the subtarget features, make sure we turn on FeatureFastUAMem for Nehalem, Westmere and Sandy Bridge. FeatureFastUAMem is already on if we pass in nehalem or westmere as a command argument. rdar: 7252306 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c42a7017864fc62bfff36c1b8b7f4cd68e198861 |
|
07-Aug-2012 |
Andrew Trick <atrick@apple.com> |
Allow x86 subtargets to use the GenericModel defined in X86Schedule.td. This allows codegen passes to query properties like InstrItins->SchedModel->IssueWidth. It also ensure's that computeOperandLatency returns the X86 defaults for loads and "high latency ops". This should have no significant impact on existing schedulers because X86 defaults happen to be the same as global defaults. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a20e1e7ef596842127794372244fd5c646f71296 |
|
01-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
fd012b2e040ad0335c5163e85fbee4869328ad14 |
|
19-Jul-2012 |
Preston Gurd <preston.gurd@intel.com> |
Adds the family codes for the Midview Atom processors so that the Atom buildbot will auto-detect Atom. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d4d961615c67082bc24bfa5d372a93a1dcff3457 |
|
18-Jul-2012 |
Preston Gurd <preston.gurd@intel.com> |
This patch fixes 8 out of 20 unexpected failures in "make check" when run on an Intel Atom processor. The failures have arisen due to changes elsewhere in the trunk over the past 8 weeks or so. These failures were not detected by the Atom buildbot because the CPU on the Atom buildbot was not being detected as an Atom CPU. The fix for this problem is in Host.cpp and X86Subtarget.cpp, but shall remain commented out until the current set of Atom test failures are fixed. Patch by Andy Zhang and Tyler Nowicki! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a15f9d53114a86005b260cbc451b0c63aa92bc1d |
|
03-Jun-2012 |
Craig Topper <craig.topper@gmail.com> |
Rename FMA3 feature flag to just FMA to match gcc so it can be added to clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
14f094bb2b1d72266d8d29daddb27ec3b1be5e14 |
|
01-Jun-2012 |
Craig Topper <craig.topper@gmail.com> |
Enable automatic detection of FMA3 support to allow intrinsics to be used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c8e340da823e8ff10b947429ef99e34ffc3067d8 |
|
31-May-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
X86: Rename the CLMUL target feature to PCLMUL. It was renamed in gcc/gas a while ago and causes all kinds of confusion because it was named differently in llvm and clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
177cf1e1a3685209ab805f82897902a8d2b61661 |
|
31-May-2012 |
Elena Demikhovsky <elena.demikhovsky@intel.com> |
Added FMA3 Intel instructions. I disabled FMA3 autodetection, since the result may differ from expected for some benchmarks. I added tests for GodeGen and intrinsics. I did not change llvm.fma.f32/64 - it may be done later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
79bbe855cd3443bc646b2aedb2973c9968ca3b7f |
|
02-May-2012 |
Preston Gurd <preston.gurd@intel.com> |
Change the Intel Atom detection code to recognize Lincroft and Medfield. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c80e7d2ea46589c5e42e09081a079392f6fbf041 |
|
01-May-2012 |
Craig Topper <craig.topper@gmail.com> |
Allow BMI, AES, F16C, POPCNT, FMA3, and CLMUL to be detected on AMD processors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c573b1f7ae7ea3bf3757a383a46e9d4426de013e |
|
26-Apr-2012 |
Preston Gurd <preston.gurd@intel.com> |
Trivial change to set UseLeaForSP flag in addition to toggling the FeatureLeaForSP feature bit when llvm auto detects Intel Atom. Patch by Andy Zhang git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
1203f2f138ec8298ffcf6c6138e56ce6b2413b4b |
|
26-Apr-2012 |
Craig Topper <craig.topper@gmail.com> |
Enable detection of AVX and AVX2 support through CPUID. Add AVX/AVX2 to corei7-avx, core-avx-i, and core-avx2 cpu names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155618 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
6a8c7bf8e72338e55f0f9583e1828f62da165d4a |
|
23-Apr-2012 |
Preston Gurd <preston.gurd@intel.com> |
This patch fixes a problem which arose when using the Post-RA scheduler on X86 Atom. Some of our tests failed because the tail merging part of the BranchFolding pass was creating new basic blocks which did not contain live-in information. When the anti-dependency code in the Post-RA scheduler ran, it would sometimes rename the register containing the function return value because the fact that the return value was live-in to the subsequent block had been lost. To fix this, it is necessary to run the RegisterScavenging code in the BranchFolding pass. This patch makes sure that the register scavenging code is invoked in the X86 subtarget only when post-RA scheduling is being done. Post RA scheduling in the X86 subtarget is only done for Atom. This patch adds a new function to the TargetRegisterClass to control whether or not live-ins should be preserved during branch folding. This is necessary in order for the anti-dependency optimizations done during the PostRASchedulerList pass to work properly when doing Post-RA scheduling for the X86 in general and for the Intel Atom in particular. The patch adds and invokes the new function trackLivenessAfterRegAlloc() instead of using the existing requiresRegisterScavenging(). It changes BranchFolding.cpp to call trackLivenessAfterRegAlloc() instead of requiresRegisterScavenging(). It changes the all the targets that implemented requiresRegisterScavenging() to also implement trackLivenessAfterRegAlloc(). It adds an assertion in the Post RA scheduler to make sure that post RA liveness information is available when it is needed. It changes the X86 break-anti-dependencies test to use –mcpu=atom, in order to avoid running into the added assertion. Finally, this patch restores the use of anti-dependency checking (which was turned off temporarily for the 3.1 release) for Intel Atom in the Post RA scheduler. Patch by Andy Zhang! Thanks to Jakob and Anton for their reviews. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f23293793aaf3a566fd000d734eb7217bb3db974 |
|
17-Apr-2012 |
Preston Gurd <preston.gurd@intel.com> |
Temporarily turn off anti-dependency checking during Post RA scheduling in X86, until the X86 target is changed to properly set up post RA liveness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
4e02f23de24375294005f88b5254a3775d39fcb2 |
|
27-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Prune some includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
90f20044ade3712c8b0c3f4ebe47d57ad15ae6ce |
|
22-Feb-2012 |
Chad Rosier <mcrosier@apple.com> |
Remove extra semi-colons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
de1df103b9c578d0a1609054a5944342c5d0ba23 |
|
07-Feb-2012 |
Evan Cheng <evan.cheng@apple.com> |
Use LEA to adjust stack ptr for Atom. Patch by Andy Zhang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
922d314e8f9f0d8e447c055485a2969ee9cf2dd2 |
|
02-Feb-2012 |
Andrew Trick <atrick@apple.com> |
Instruction scheduling itinerary for Intel Atom. Adds an instruction itinerary to all x86 instructions, giving each a default latency of 1, using the InstrItinClass IIC_DEFAULT. Sets specific latencies for Atom for the instructions in files X86InstrCMovSetCC.td, X86InstrArithmetic.td, X86InstrControl.td, and X86InstrShiftRotate.td. The Atom latencies for the remainder of the x86 instructions will be set in subsequent patches. Adds a test to verify that the scheduler is working. Also changes the scheduling preference to "Hybrid" for i386 Atom, while leaving x86_64 as ILP. Patch by Preston Gurd! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
893a045cdbdc08fdaa5a62a24838be2df35cb628 |
|
31-Jan-2012 |
Evan Cheng <evan.cheng@apple.com> |
PR11834: Use macros which are defined on Windows. Patch by Marina Yatsina. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
216f63702fabd57ac570feebc56005b2a5cb3216 |
|
10-Jan-2012 |
Joerg Sonnenberger <joerg@bec.de> |
Default stack alignment for 32bit x86 should be 4 Bytes, not 8 Bytes. Add a test that checks the stack alignment of a simple function for Darwin, Linux and NetBSD for 32bit and 64bit mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
16de4632bb263d7e0def43ebc13af5077726f067 |
|
09-Jan-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove AVX hack in X86Subtarget. AVX/AVX2 are now treated as an SSE level. Predicate functions have been altered to maintain previous names and behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
39f227e4dd98d36ed852175825c3a74c05614bd6 |
|
09-Jan-2012 |
Craig Topper <craig.topper@gmail.com> |
Don't disable MMX support when AVX is enabled. Fix predicates for MMX instructions that were added along with SSE instructions to check for AVX in addition to SSE level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5ebee4494b8bcf8d1d969110dae5b5f971305367 |
|
29-Dec-2011 |
Craig Topper <craig.topper@gmail.com> |
Change XOP detection to use the correct CPUID bit instead of using the FMA4 bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
8a8d479214745c82ef00f08d4e4f1c173b5f9ce2 |
|
02-Dec-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Move global variables in TargetMachine into new TargetOptions class. As an API change, now you need a TargetOptions object to create a TargetMachine. Clang patch to follow. One small functionality change in PTX. PTX had commented out the machine verifier parts in their copy of printAndVerify. That now calls the version in LLVMTargetMachine. Users of PTX who need verification disabled should rely on not passing the command-line flag to enable it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ce25d26b400d25c9e20ac9fe2d5b0cafb9d7fa15 |
|
02-Dec-2011 |
Jan Sjödin <jan_sjodin@yahoo.com> |
Add XOP feature flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e7b05504faa86a5c0b80a62ddb60cbb0cf163d5d |
|
30-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add intrinsics and feature flag for read/write FS/GS base instructions. Also add AVX2 feature flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
928698b14e4bcd0f231dc28e246920a242d81fc1 |
|
18-Oct-2011 |
David Meyer <pdox@google.com> |
Remove NaClMode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142338 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
4b2dc74d3f17b40a57eba3068ce498a7f30769fe |
|
17-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Don't use inline assembly in 64-bit Visual Studio. Unfortunately, this means that cpuid leaf 7 can't be queried on versions of Visual Studio earlier than VS 2008 SP1. Fixes PR11147. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b53fa8bf19a51f0c49a9f8b6ede3e2ff3bdfb961 |
|
16-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add X86 BZHI instruction as well as BMI2 feature detection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
4145c49aa0e0e70a51a395bdd4107a464d05e592 |
|
16-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add X86 feature detection support for BMI instructions. Added new cpuid function for accessing leafs with sub leafs specified in ECX. Also added code to keep track of the max cpuid level supported in both basic and extended leaves and qualified the existing cpuid calls and the new call to leaf 7. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
909652f6876a97d63db20606cd1b37e95d016caf |
|
14-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add X86 TZCNT instruction and patterns to select it. Also added core-avx2 processor which is gcc's name for Haswell. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
37f2167f15608ff56d202ff21954a456aab6e534 |
|
11-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add X86 LZCNT instruction. Including instruction selection support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
1f104804bf30f1457e92fa6ee958a618a958b1ad |
|
10-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Put a bunch of calls to ToggleFeature behind proper if statements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
da394041c409cb06008e60b9f9f845e845215b03 |
|
09-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add Ivy Bridge 16-bit floating point conversion instructions for the X86 disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
581fe82c84839f769a7275cf4cde7ea209f5ed04 |
|
03-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add support for MOVBE and RDRAND instructions for the assembler and disassembler. Includes feature flag checking, but no instrinsic support. Fixes PR10832, PR11026 and PR11027. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ca59221fdcb343ef45eb962bf72497bb1917d673 |
|
07-Sep-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Detect attempt to use segmented stacks on non ELF systems and error (not assert) early. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
1fac6b50ea720d75fc2bf01a288e99f239869e90 |
|
05-Sep-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add a new MC bit for NaCl (Native Client) mode. NaCl requires that certain instructions are more aligned than the CPU requires, and adds some additional directives, to follow in future patches. Patch by David Meyer! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139125 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
43f51aeca8367ea35adad963c00bd2bc5b8d1391 |
|
26-Aug-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add support for generating CMPXCHG16B on x86-64 for the cmpxchg IR instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c60f9b752381baa6c4b80c0739034660f1748c84 |
|
14-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Next round of MC refactoring. This patch factor MC table instantiations, MC registeration and creation code into XXXMCDesc libraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
59ee62d2418df8db499eca1ae17f5900dc2dcbba |
|
11-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfo and MCSubtargetInfo. - Added methods to update subtarget features (used when targets automatically detect subtarget features or switch modes). - Teach X86Subtarget to update MCSubtargetInfo features bits since the MCSubtargetInfo layer can be shared with other modules. - These fixes .code 16 / .code 32 support since mode switch is updated in MCSubtargetInfo so MC code emitter can do the right thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
439d05d587b225d912ece9ce038ae298bc55e1c2 |
|
09-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Really force on 64bit for 64-bit targets. Should fix remaining failures on unknown x86/non-x86 targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134773 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
6dfef6605f788013099ea29e36e077015e2cfc23 |
|
09-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Revert earlier unnecessary hack. Make sure we correctly force on 64bit and cmov for 64-bit targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
4d1a8dde2d9eea508f66d51428b4f155fa6a6756 |
|
09-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Restore old behavior. Always auto-detect features unless cpu or features are specified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f06ff4eae3ed2277555b25ee8e95b539f589b63c |
|
09-Jul-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Default 64-bit target features and SSE2 on when a triple specifies x86-64. Clean up all the other hacks which are now unnecessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134753 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
cc0ddc707d5a7b1dd11141881df0bf4210f8aeee |
|
08-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
For non-x86 host, used generic as CPU name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ebdeeab812beec0385b445f3d4c41a114e0d972f |
|
08-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate asm parser's dependency on TargetMachine: - Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
18fb1d35db9e2160be3a5bd2950f7e0d206bdbb8 |
|
07-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Add Mode64Bit feature and sink it down to MC layer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0ddff1b5359433faf2eb1c4ff5320ddcbd42f52f |
|
07-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Compute feature bits at time of MCSubtargetInfo initialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
385e930d55f3ecd3c9538823dfa5896a12461845 |
|
02-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename XXXGenSubtarget.inc to XXXGenSubtargetInfo.inc for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5b1b4489cf3a0f56f8be0673fc5cc380a32d277b |
|
01-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename TargetSubtarget to TargetSubtargetInfo for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
94214703d97d8d9dfca88174ffc7e94820a85e62 |
|
01-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
- Added MCSubtargetInfo to capture subtarget features and scheduling itineraries. - Refactor TargetSubtarget to be based on MCSubtargetInfo. - Change tablegen generated subtarget info to initialize MCSubtargetInfo and hide more details from targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
276365dd4bc0c2160f91fd8062ae1fc90c86c324 |
|
30-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ef41ff618f2537539b538e6c7bf471c753391f92 |
|
23-Jun-2011 |
Evan Cheng <evan.cheng@apple.com> |
Remove TargetOptions.h dependency from X86Subtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
fee22869ca8fc1b703f06eeb2e530345032fb2f3 |
|
17-May-2011 |
Mon P Wang <wangmp@apple.com> |
Enable autodetect of popcnt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
558692fd0a31d4d3ae4fd09a3a02f80da2e44e5c |
|
20-Apr-2011 |
Daniel Dunbar <daniel@zuster.org> |
ADT/Triple: Renambe isOSX... methods to isMacOSX for consistency with the OS triple component. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129838 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2cf711f1e69dc1d00d57814478c8eb12d97ce3a8 |
|
19-Apr-2011 |
Daniel Dunbar <daniel@zuster.org> |
Target/X86: Eliminate uses of getDarwinVers(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
4c3ab58c4766bb48526523b000fa54186c97877e |
|
22-Feb-2011 |
Roman Divacky <rdivacky@freebsd.org> |
Stack alignment is 16 bytes on FreeBSD/i386 too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7331ca853af405460960d7cc07f48fd01fb58acf |
|
21-Feb-2011 |
Duncan Sands <baldrick@free.fr> |
The stack should be 16 byte aligned on 32 bit solaris. Patch by Yuri. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126130 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
04f5079ca1fd6c46a2b2efc369e293fb6feab793 |
|
13-Jan-2011 |
Eric Christopher <echristo@apple.com> |
Experiment with changing the default 32-bit linux stack alignment to 16 bytes for PR8969. Update all testcases accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
de7f92083569dd5dde89a7fd75cd1a4c8b5b9794 |
|
13-Dec-2010 |
Evan Cheng <evan.cheng@apple.com> |
Disable auto-detection of AVX support since AVX codegen support is not ready. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2ea8ee7c76b8d8754d81072e691caf25d23289e3 |
|
10-Dec-2010 |
Nate Begeman <natebegeman@mac.com> |
Formalize the notion that AVX and SSE are non-overlapping extensions from the compiler's point of view. Per email discussion, we either want to always use VEX-prefixed instructions or never use them, and are taking "HasAVX" to mean "Always use VEX". Passing -mattr=-avx,+sse42 should serve to restore legacy SSE support when desirable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d643486058dcece4d35f4855e8d39e6f85b24cbe |
|
05-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
Initialize HasPOPCNT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
1f6efa3996dd1929fbc129203ce5009b620e6969 |
|
29-Nov-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Merge System into Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
699647cabcd98efd10b3bfb7cedc4d4b54f9b93d |
|
21-Aug-2010 |
Anton Korobeynikov <asl@math.spbu.ru> |
Use rip-rel addressing on win64 by default. For this we just defaults to small pic code model. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
cdae7e8244e37f539a5f1c9b780de7817b40de52 |
|
23-Jul-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add x86 CLMUL (Carry-less multiplication) cpu feature git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
62f35a2c133cd7de818dfc366a393282f01b111c |
|
05-Jul-2010 |
Eric Christopher <echristo@apple.com> |
Have the X86 backend use Triple instead of a string and some enums. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
6b601536ff1f5d18f738a322a331ed5fdc89e46a |
|
14-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
fix a nasty bug where we were not treating available_externally symbols as declarations in the X86 backend. This would manifest on darwin x86-32 as errors like this with -fvisibility=hidden: symbol '__ZNSbIcED1Ev' can not be undefined in a subtraction expression This fixes PR7353. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
4d3d6e1a0c99e2212953a90185a8d027c595bf5a |
|
27-May-2010 |
Dan Gohman <gohman@apple.com> |
FastISel doesn't yet handle callee-pop functions. To support this, move IsCalleePop from X86ISelLowering to X86Subtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2bce5f4b56ac0ea8e452a79e13abba1deca9b7b6 |
|
28-Apr-2010 |
Evan Cheng <evan.cheng@apple.com> |
Enable i16 to i32 promotion by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102493 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5528e7bcb1209094a68bbf6d1efeefc3ca34774f |
|
21-Apr-2010 |
Evan Cheng <evan.cheng@apple.com> |
isel (i32 anyext i16) as insert_subreg when 16-bit ops are being promoted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
6d1cd1cd04abb1828a14980e15252985c8c728b2 |
|
02-Apr-2010 |
Eric Christopher <echristo@apple.com> |
Separate out the AES-NI instructions from the SSE4.2 instructions. Add a new subtarget option for AES and check for the support. Add "westmere" line of processors and add AES-NI support to the core i7. Add a couple of TODOs for information I couldn't verify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
48c58bb8610cd475d1acb073694e0d2b4dd7cc8c |
|
01-Apr-2010 |
Evan Cheng <evan.cheng@apple.com> |
Nehalem unaligned memory access is fast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100089 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
bdc652bab899d86f2181ed30caf689e43237ffb3 |
|
18-Mar-2010 |
Evan Cheng <evan.cheng@apple.com> |
Turning off post-ra scheduling for x86. It isn't a consistent win. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98810 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
1c436d0b0b6f2b843916a11dd57e7fa3fab5795b |
|
14-Mar-2010 |
Chris Lattner <sabre@nondot.org> |
no really, all 64-bit cpu's have cmov support. This should fix the rest of the buildbot failures on non-x86 hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f0356fe140af1a30587b9a86bcfb1b2c51b8ce20 |
|
27-Jan-2010 |
Jeffrey Yasskin <jyasskin@google.com> |
Kill ModuleProvider and ghost linkage by inverting the relationship between Modules and ModuleProviders. Because the "ModuleProvider" simply materializes GlobalValues now, and doesn't provide modules, it's renamed to "GVMaterializer". Code that used to need a ModuleProvider to materialize Functions can now materialize the Functions directly. Functions no longer use a magic linkage to record that they're materializable; they simply ask the GVMaterializer. Because the C ABI must never change, we can't remove LLVMModuleProviderRef or the functions that refer to it. Instead, because Module now exposes the same functionality ModuleProvider used to, we store a Module* in any LLVMModuleProviderRef and translate in the wrapper methods. The bindings to other languages still use the ModuleProvider concept. It would probably be worth some time to update them to follow the C++ more closely, but I don't intend to do it. Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
95eb2eeea65fbae223ffd517f3984f14b034fcb8 |
|
11-Jan-2010 |
David Greene <greened@obbligato.org> |
Implement a feature (-vector-unaligned-mem) to allow targets to ignore alignment requirements for SIMD memory operands. This is useful on architectures like the AMD 10h that do not trap on unaligned references if a status bit is twiddled at startup time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93151 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
bd7b8458d1a3af49a7faeeb52f3ed71eea08f70c |
|
05-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b1f49813334278094b1ecd7ad920f5c276f7b3e6 |
|
22-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
Remove target attribute break-sse-dep. Instead, do not fold load into sse partial update instructions unless optimizing for size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
400073d5467b79534d8c63b0d996a55e4252ff4b |
|
18-Dec-2009 |
Evan Cheng <evan.cheng@apple.com> |
On recent Intel u-arch's, folding loads into some unary SSE instructions can be non-optimal. To be precise, we should avoid folding loads if the instructions only update part of the destination register, and the non-updated part is not needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks the partial register dependency and it can improve performance. e.g. movss (%rdi), %xmm0 cvtss2sd %xmm0, %xmm0 instead of cvtss2sd (%rdi), %xmm0 An alternative method to break dependency is to clear the register first. e.g. xorps %xmm0, %xmm0 cvtss2sd (%rdi), %xmm0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d84ea47b896cbe6072a344118853ae22e937a04f |
|
07-Dec-2009 |
Dan Gohman <gohman@apple.com> |
Don't enable the post-RA scheduler on x86 except at -O3. In its current form, it is too expensive in compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
29cbade25aa094ca9a149a96a8614cf6f3247480 |
|
21-Nov-2009 |
Dan Gohman <gohman@apple.com> |
Target-independent support for TargetFlags on BlockAddress operands, and support for blockaddresses in x86-32 PIC mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
067d024b05e56d2847608c9149a7151d6531c036 |
|
14-Nov-2009 |
Daniel Dunbar <daniel@zuster.org> |
Add llvm::sys::getHostCPUName, for detecting the LLVM name for the host CPU. - This is an initial step towards -march=native support in Clang, and towards eliminating host dependencies in the targets. See PR5389. - Patch by Roman Divacky! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88768 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
87d21b92fc42f6b3bd8567a83fc5b5191c1205e5 |
|
13-Nov-2009 |
David Goodwin <david_goodwin@apple.com> |
Allow target to specify regclass for which antideps will only be broken along the critical path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c2e8a7e8d2ab156afaa8ab0d0317dd9ee3db7d30 |
|
10-Nov-2009 |
David Goodwin <david_goodwin@apple.com> |
Fixed to address code review. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
79f7400e4f98929571431f4e8c21f6ef52c63f6b |
|
15-Oct-2009 |
Evan Cheng <evan.cheng@apple.com> |
Remove X86Subtarget::IsLinux. It's no longer being used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
63476a80404125e5196b6c09113c1d4796da0604 |
|
03-Sep-2009 |
Evan Cheng <evan.cheng@apple.com> |
Reference to hidden symbols do not have to go through non-lazy pointer in non-pic mode. rdar://7187172. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
848113833fc51bdd170cdce17abe7783ca52a34a |
|
03-Sep-2009 |
Daniel Dunbar <daniel@zuster.org> |
Make these functions static and local. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80892 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d0da6ff3ad761dc5eb00cbe32b850de7b0bf27b6 |
|
03-Sep-2009 |
Evan Cheng <evan.cheng@apple.com> |
X86JITInfo::getLazyResolverFunction() should not read cpu id to determine whether sse is available. Just use consult subtarget. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80880 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
700841617a9cfdc08323449ab14f42513c106430 |
|
02-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
Add support for modeling whether or not the processor has support for conditional moves as a subtarget feature. This is the easy part of PR4841. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
6f9bb6f31b37380fa9c4412b400b53eba65b7410 |
|
28-Aug-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
Short-term workaround for frame-related weirdness on win64. Some other minor win64 fixes as well. Patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ce914b8f945bdd42126991a7fda8984681c2c067 |
|
12-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
change the -x86-asm-syntax=intel/att flag to be in X86TAI instead of X86 Subtarget. This elimianates dependencies on X86Subtarget from X86TAI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e22f4da01d57f51757663fdcae986af0aeca49fe |
|
05-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove some dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0ea8bf3590d7553179f95e4b0fc47c02f066fcfb |
|
03-Aug-2009 |
Bill Wendling <isanbard@gmail.com> |
- s/DOUT/DEBUG(errs()/g - Tidy up some headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3be03406c9c3b2075d5ae416499af2f15f703d6f |
|
03-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Normalize Subtarget constructors to take a target triple string instead of Module*. Also, dropped uses of TargetMachine where unnecessary. The only target which still takes a TargetMachine& is Mips, I would appreciate it if someone would normalize this to match other targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
cfb8a1bea15f50e6609283c0e06f815a1448a14b |
|
19-Jul-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix some minor MSVC compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76356 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a82b22c667f66224edaf83f33815c8015fb74444 |
|
17-Jul-2009 |
Evan Cheng <evan.cheng@apple.com> |
GV with ghost linkage (module being lazily streamed in in JIT lazy compilation mode) do not require extra load from stub. This fixes ExecutionEngine/2005-12-02-TailCallBug.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c7822326df54ad766996875851f0796c14268c13 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
fix indentation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75277 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e2c920845a407957b8ae2600feae1f4c85a0d4d0 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
remove the now-dead TM argument to these methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
8097b65c432c3cc39339b6bb0ead9e1e09232ff7 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
make PIC vs DynamicNoPIC be explicit in PICStyles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
84853a17a3f79f37277f6b67ac9f5468ea6d8438 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
some minor simplifications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3b67e9ba015624a9904a41d6d0fd61cac1b02055 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
add a couple of predicates to test for "stub style pic in PIC mode" and "stub style pic in dynamic-no-pic" mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0d786dd954622b8e7981eee32e9d585ee067d9c5 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
simplify fast isel by using ClassifyGlobalReference. This elimiantes the last use of GVRequiresExtraLoad, so delete it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
dfed413ef6bfb05754ee5a9f3a3c7f98c764a374 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate GVRequiresRegister, replacing it with predicates we need for other purposes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d392bd97c8203ab4a770dfdd0a5565ac6cd6cacd |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
move some classification logic around. Now GVRequiresExtraLoad is just a trivial wrapper around "ClassifyGlobalReference", which stole a ton of logic from LowerGlobalAddress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ed0dca6a5dfa26e63c5636eb092640159182df89 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
GVRequiresExtraLoad is now never used for calls, simplify it based on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
754b7650c20a0fa3a9df3f067dc02a0905992325 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
actually, just eliminate PCRelGVRequiresExtraLoad. It makes the code more complex and slow than just directly testing what we care about. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e6c07b52e76b19d83338901b2e103bd8cbabd42f |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
There is only one case where GVRequiresExtraLoad returns true for calls: split its handling out to PCRelGVRequiresExtraLoad, and simplify code based on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
04b304caf633a471946c59c7d313e1560c5d07a5 |
|
10-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
the "isDirectCall" operand of GVRequiresRegister is always false, eliminate it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
15a380a03567deba90c074a2cd5a45b81ae0958b |
|
09-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
simplify some code based on the fact that picstyles != none are only valid in pic or dynamic-no-pic mode. Also, x86-64 never used picstylegot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
73b5b71369d7324dd87e89791edb7000b1d0bd29 |
|
09-Jul-2009 |
Chris Lattner <sabre@nondot.org> |
Reduce indentation in GVRequiresExtraLoad. Return true for windows with DLLImport symbols even when in -static mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
343dadbb368ec4de546c2cc3ffb1dac4cdbe14b9 |
|
27-Jun-2009 |
David Greene <greened@obbligato.org> |
Add feature flags for AVX and FMA and fix some SSE4A feature flag initialization problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0eebf653a7b2978e7761f8d068b6fbec22aea0f6 |
|
09-Jun-2009 |
Anton Korobeynikov <asl@math.spbu.ru> |
The attached patches implement most of the ARM AAPCS-VFP hard float ABI. The missing piece is support for putting "homogeneous aggregates" into registers. Patch by Sandeep Patel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
8cf5ab153d3873d8565d5433527bd0219f7b8043 |
|
26-May-2009 |
Stefanus Du Toit <stefanus.dutoit@rapidmind.com> |
Update CPU capabilities for AMD machines - added processors k8-sse3, opteron-sse3, athlon64-sse3, amdfam10, and barcelona with appropriate sse3/4a levels - added FeatureSSE4A for amdfam10 processors in X86Subtarget: - added hasSSE4A - updated AutoDetectSubtargetFeatures to detect SSE4A - updated GetCurrentX86CPU to detect family 15 with sse3 as k8-sse3 and family 10h as amdfam10 New processor names match those used by gcc. Patch by Paul Redmond! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d7f666a869966a22b0b8f9fcd5056c1d475039cc |
|
20-May-2009 |
Evan Cheng <evan.cheng@apple.com> |
Try again. Allow call to immediate address for ELF or when in static relocation mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
bc58322d6a15fc06207a9e0c01786aa140fe9a29 |
|
25-Apr-2009 |
Chris Lattner <sabre@nondot.org> |
add support for detecting process features on win64, patch by Nicolas Capens! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
667d4b8de6dea70195ff12ef39a4deebffa2f5c7 |
|
07-Mar-2009 |
Duncan Sands <baldrick@free.fr> |
Introduce new linkage types linkonce_odr, weak_odr, common_odr and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
9feb5dd5685d8d52f40f2d88a1125bff8d67adfe |
|
28-Feb-2009 |
Mon P Wang <wangmp@apple.com> |
Added another darwin subtarget git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
605679f0cdbfae59374dbb28de4ab3eee27804f2 |
|
03-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Tevert part of the x86 subtarget logic changes: when -march=x86-64 is given, override the subtarget settings and enable 64-bit support. This restores the earlier behavior, and fixes regressions on Non-64-bit-capable x86-32 hosts. This isn't necessarily the best approach, but the most obvious alternative is to require -mcpu=x86-64 or -mattr=+64bit to be used with -march=x86-64 when the host doesn't have 64-bit support. This makes things little more consistent, but it's less convenient, and it has the practical drawback of requiring lots of test changes, so I opted for the above approach for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f75e5b4d8cbbec83924a3186a167a03564e5c373 |
|
03-Feb-2009 |
Dan Gohman <gohman@apple.com> |
Change Feature64Bit to not imply FeatureSSE2. All x86-64 hardware has SSE2, however it's possible to disable SSE2, and the subtarget support code thinks that if 64-bit implies SSE2 and SSE2 is disabled then 64-bit should also be disabled. Instead, just mark all the 64-bit subtargets as explicitly supporting SSE2. Also, move the code that makes -march=x86-64 enable 64-bit support by default to only apply when there is no explicit subtarget. If you need to specify a subtarget and you want 64-bit code, you'll need to select a subtarget that supports 64-bit code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b68a88bd48c0fcee7bba2d01a3e3602e98aa27e7 |
|
02-Feb-2009 |
Torok Edwin <edwintorok@gmail.com> |
Only force SSE level if it is not correct. Add an assert to check HasX86_64 status. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
38870ed13c17ec8169b2c64f77dcf54186dcd8a1 |
|
02-Feb-2009 |
Torok Edwin <edwintorok@gmail.com> |
remove #if 0 code on Bill's request. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3f142c36ad04c1aabac90df6a866bd2b0767f24f |
|
01-Feb-2009 |
Torok Edwin <edwintorok@gmail.com> |
Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack for var-args, and don't allow FP return values git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63495 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
afb564c6977c70087862723374d1da45e3777153 |
|
25-Jan-2009 |
Torok Edwin <edwintorok@gmail.com> |
should have removed the + when manually applying a patch! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c8ad2d2abf4ef988d7dffb687cd3366cb02c49ff |
|
25-Jan-2009 |
Torok Edwin <edwintorok@gmail.com> |
revert this patch for now, because Codegen does still want to generate SSE code, for example in the case of va-args. XFAIL associated tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7f1d5252c719ec57a9cba08256770e8b71ba624a |
|
25-Jan-2009 |
Torok Edwin <edwintorok@gmail.com> |
If user explicitly asks not to use SSE, don't force it. This fixes LLVM part of PR3402. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
bb46f52027416598a662dc1c58f48d9d56b1a65b |
|
15-Jan-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add the private linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7877112775b97d13e225124d6f1181c30d75853a |
|
05-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Atom and Core i7 do not have same model number after all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0be6d3fb2a3f502c3dd750961c8c571f03727331 |
|
03-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Add Intel processors core i7 and atom. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5b925c031dab6e6b79e9de281fdb177ac69cbd1c |
|
03-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix PR3210: Detect more Intel processors. Patch by Torok Edwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ccb6976a69a6e146db049fff8e6338e31c91b6f8 |
|
02-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Do not isel load folding bt instructions for pentium m, core, core2, and AMD processors. These are significantly slower than a load followed by a bt of a register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
018b7ee91a1dc8e1f87ea8c9133b5e44d9e57972 |
|
02-Jan-2009 |
Evan Cheng <evan.cheng@apple.com> |
Fix x86 CPU id detection to identify Penryn (and future processors). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
8749b61178228ba1fb2668034d79da1b247173d7 |
|
16-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Add initial support for back-scheduling address computations, especially in the case of addresses computed from loop induction variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61075 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e4d1082b2c63919f3abb6de18ce47ce9e05cfdea |
|
08-Dec-2008 |
Evan Cheng <evan.cheng@apple.com> |
Re-apply 60689 now my head is screwed on right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2d4e9bc922001000db1141da3bdc6541a586271a |
|
08-Dec-2008 |
Dan Gohman <gohman@apple.com> |
Revert 60689. It caused many regressions on Darwin targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60705 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
dda346aa717f12e9e99587d66c825429760a4e1d |
|
08-Dec-2008 |
Evan Cheng <evan.cheng@apple.com> |
Perform cheap checks first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
203af58aea3ae341d38e5c2c5b390b0c31d25557 |
|
05-Dec-2008 |
Dale Johannesen <dalej@apple.com> |
Make LoopStrengthReduce smarter about hoisting things out of loops when they can be subsumed into addressing modes. Change X86 addressing mode check to realize that some PIC references need an extra register. (I believe this is correct for Linux, if not, I'm sure someone will tell me.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60608 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ae94e594164b193236002516970aeec4c4574768 |
|
05-Dec-2008 |
Evan Cheng <evan.cheng@apple.com> |
Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a8103dad4e84e031c5845e18268655cc0bfbdb8d |
|
04-Dec-2008 |
Bill Wendling <isanbard@gmail.com> |
Temporarily revert r60519. It was causing a bootstrap failure: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT barrier.lo -MD -MP -MF .deps/barrier.Tpo -c ../../../llvm-gcc.src/libgomp/barrier.c -fno-common -DPIC -o .libs/barrier.o checking for sys/file.h... /var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb" /var/folders/zG/zGE-ZJOGFiGjv0B5cs5oYE+++TM/-Tmp-//cc34Jg5P.s:13:symbol: "_gomp_tls_key" can't be undefined in a subtraction expression make[4]: *** [barrier.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/bin/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/lib/ -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/include -isystem /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.5.0/sys-include -DHAVE_CONFIG_H -I. -I../../../llvm-gcc.src/libgomp -I. -I../../../llvm-gcc.src/libgomp/config/posix -I../../../llvm-gcc.src/libgomp -Wall -pthread -Werror -O2 -g -O2 -MT alloc.lo -MD -MP -MF .deps/alloc.Tpo -c ../../../llvm-gcc.src/libgomp/alloc.c -o alloc.o >/dev/null 2>&1 yes checking for sys/param.h... make[3]: *** [all-recursive] Error 1 make[2]: *** [all] Error 2 make[1]: *** [all-target-libgomp] Error 2 make[1]: *** Waiting for unfinished jobs.... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
eb83dfde66b4614fe48a572ea2ee1d7b91bcbc19 |
|
04-Dec-2008 |
Evan Cheng <evan.cheng@apple.com> |
Visibility hidden GVs do not require extra load of symbol address from the GOT or non-lazy-ptr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60519 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f9a67a894366482cb2aa70a0e4dfeb5d76f91988 |
|
28-Nov-2008 |
Duncan Sands <baldrick@free.fr> |
Fix build with gcc-4.4: it doesn't like PICStyle being both a namespace and a variable name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b8cab9227a0f6ffbdaae33e3c64268e265008a6a |
|
14-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Fix command-line option printing to print two spaces where needed, instead of requiring all "short description" strings to begin with two spaces. This makes these strings less mysterious, and it fixes some cases where short description strings mistakenly did not begin with two spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
6e08738d4b1bb6c087d81bca656c24cdc1d504f8 |
|
01-Oct-2008 |
Bill Wendling <isanbard@gmail.com> |
Just don't transform this memset into "bzero" if no-builtin is specified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
6f287b22d2e57600b4cd5dc209d0d869e7736c0b |
|
30-Sep-2008 |
Bill Wendling <isanbard@gmail.com> |
Add the new `-no-builtin' flag. This flag is meant to mimic the GCC `-fno-builtin' flag. Currently, it's used to replace "memset" with "_bzero" instead of "__bzero" on Darwin10+. This arguably violates the meaning of this flag, but is currently sufficient. The meaning of this flag should become more specific over time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
817a6a9eaa96a82c821143f13c756d7fa76cea71 |
|
16-Jul-2008 |
Evan Cheng <evan.cheng@apple.com> |
x86-64 PIC JIT fixes: do not generate the extra load for external GV's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3b48591a84d4dd16309454783a0676952b698827 |
|
09-Jul-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Revert accidentially added stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e87f52d722d4184becb2ecaf4500dd01d176bfc2 |
|
09-Jul-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Switch to new section name handling facility git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
cb2627395d995e7727711c3319303183cb741ef3 |
|
03-Jul-2008 |
Evan Cheng <evan.cheng@apple.com> |
Back out 53091 for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f550f472ee0a9717f70c78ac422c04e252dbeec9 |
|
03-Jul-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
llvm-gcc sometimes marks external declarations hidden, because intializers are processed separately. Honour such situation and emit PIC relocations properly in such case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
da5860fa8b8ad7f8622fc096a55d68a140c7c3ac |
|
02-Jun-2008 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't use the GOT for symbols that are not externally visible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51865 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
aafce77b17d340aace52bcd49d1944109d82f14a |
|
14-May-2008 |
Dale Johannesen <dalej@apple.com> |
Add CommonLinkage; currently tentative definitions are represented as "weak", but there are subtle differences in some cases on Darwin, so we need both. The intent is that "common" will behave identically to "weak" unless somebody changes their target to do something else. No functional change as yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
844731a7f1909f55935e3514c9e713a62d67662e |
|
13-May-2008 |
Dan Gohman <gohman@apple.com> |
Clean up the use of static and anonymous namespaces. This turned up several things that were neither in an anonymous namespace nor static but not intended to be global. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
63307c335aa08b0d6a75f81d64d79af7e90eb78b |
|
05-May-2008 |
Mon P Wang <wangmp@apple.com> |
Added addition atomic instrinsics and, or, xor, min, and max. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
94bbdc8c254e259eff22eb5d6a1012fc1438fb45 |
|
05-May-2008 |
Dan Gohman <gohman@apple.com> |
Fix IsLinux being uninitialized on non-Linux targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50660 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
600bf16cf7b1667f85c8531432aae0dd23d553ab |
|
05-May-2008 |
Dan Gohman <gohman@apple.com> |
Use a dedicated IsLinux flag instead of an ELFLinux TargetType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a779a9899a5e23bd5198973f4709d66cb4bc2e64 |
|
05-May-2008 |
Dan Gohman <gohman@apple.com> |
Add AsmPrinter support for emitting a directive to declare that the code being generated does not require an executable stack. Also, add target-specific code to make use of this on Linux on x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
45709ae09b252a18efd342bbd56574a12437c81c |
|
23-Apr-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Make stack alignment options global for all targets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
890fe888be0e19ce675bb2cd7c127ece88d8064d |
|
23-Apr-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Provide ABI-correct stack alignment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50154 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
dc00858e11d243bd2c7cb39bbb92c557b123573e |
|
16-Apr-2008 |
Evan Cheng <evan.cheng@apple.com> |
Initialize X863DNowLevel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
78c80fdbdd7a0db3cd5c84f60ddc95e72702fe2e |
|
13-Apr-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Provide option for stack alignment override git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
68d599df37218452acd5a680d5360d3caaa1623c |
|
01-Apr-2008 |
Dan Gohman <gohman@apple.com> |
Speculatively micro-optimize memory-zeroing calls on Darwin 10. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2b4f7805851912d05b5bd5ef9b8a9afee1c60e39 |
|
22-Mar-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Honour built-in defines on win64 targets for automatically subtarget recognize. Force stack alignment to 16 bytes on win targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
508f0fdb534e23d453ecc4d4892d581bb9647c50 |
|
22-Mar-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Recognize "windows" in target triple, not only "win32" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7c1c261272b43f2a9397c3052819b92c53918075 |
|
20-Feb-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Remove bunch of gcc 4.3-related warnings from Target git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ab1a0354ecff51d27098d6f11fbeabc65dec7123 |
|
15-Feb-2008 |
Dale Johannesen <dalej@apple.com> |
Remove warning about 64-bit code on processor that doesn't support it. Per Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
be3bf423315394f15f0c71afdaed26e5cfbcad4a |
|
07-Feb-2008 |
Evan Cheng <evan.cheng@apple.com> |
Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing mode. Before: _main: subq $8, %rsp leaq _X(%rip), %rax movsd 8(%rax), %xmm1 movss _X(%rip), %xmm0 call _t xorl %ecx, %ecx movl %ecx, %eax addq $8, %rsp ret Now: _main: subq $8, %rsp movsd _X+8(%rip), %xmm1 movss _X(%rip), %xmm0 call _t xorl %ecx, %ecx movl %ecx, %eax addq $8, %rsp ret Notice there is another idiotic codegen issue that needs to be fixed asap: xorl %ecx, %ecx movl %ecx, %eax git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
63ec90a6a8e0e441a1560f4386c5b6d538ad6583 |
|
03-Feb-2008 |
Nate Begeman <natebegeman@mac.com> |
SSE 4.1 Intrinsics and detection git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
49964d6847291900992b7fc75cb88a395f468817 |
|
20-Jan-2008 |
Anton Korobeynikov <asl@math.spbu.ru> |
Enable PIC codegen on x86-64/linux git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46198 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e51775dc5e3503092313fe77174127f4f4d17374 |
|
08-Jan-2008 |
Duncan Sands <baldrick@free.fr> |
Use size_t to store Pos, avoid truncating value on 64-bit builds. Analysis and original patch by Török Edwin. Code audit found another place with the same problem, also fixed here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45746 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7ad92d81e2c2d1fe8ae89e5638fc57925d747429 |
|
02-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
darwin9 and above support aligned common symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
4ee451de366474b9c228b4e5fa573795a715216d |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
fc05f402ea22e8a9ae465d209b65be7e857a89ff |
|
31-Oct-2007 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make ARM an X86 memcpy expansion more similar to each other. Now both subtarget define getMaxInlineSizeThreshold and the expansion uses it. This should not change generated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f6844ca0e4a02fae3b100db7b0c62170d05e5b53 |
|
02-Aug-2007 |
Evan Cheng <evan.cheng@apple.com> |
Mac OS X X86-64 low 4G address not available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a99be51bf5cdac1438069d4b01766c47704961c8 |
|
05-Jul-2007 |
Gabor Greif <ggreif@gmail.com> |
Here is the bulk of the sanitizing. Almost all occurrences of "bytecode" in the sources have been eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c3987095259e2c80f0bb015e61b2b766db63b33f |
|
16-Apr-2007 |
Jeff Cohen <jeffc@jolt-lang.org> |
In the event that some really old non-Intel or -AMD CPU is encountered... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
22114c319a58074cc5d0ad60d09e0020db89f127 |
|
16-Apr-2007 |
Jeff Cohen <jeffc@jolt-lang.org> |
Before assuming that the original code didn't work for Athlon64, the person who replaced it with a FIXME should have determined what did work. Then he would have realized that the code was in fact correct, and would have avoided breaking it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36173 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
bb1ee05253d965e0944351a21e9970c02b1aebfe |
|
11-Apr-2007 |
Bill Wendling <isanbard@gmail.com> |
Add support for our first SSSE3 instruction "pmulhrsw". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35869 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3b5ee73a13f3b6c70b8d14827da3ee72260fc963 |
|
24-Mar-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Autodetect MMX & SSE stuff for AMD processors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5cbf985dcbc89fba3208e7baf8b6f488b06d3ec9 |
|
30-Jan-2007 |
Reid Spencer <rspencer@reidspencer.com> |
For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid confusion with external linkage types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b10308e440c80dd6ffb4b478f741ff7e5f30cb48 |
|
28-Jan-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Propagate changes from my local tree. This patch includes: 1. New parameter attribute called 'inreg'. It has meaning "place this parameter in registers, if possible". This is some generalization of gcc's regparm(n) attribute. It's currently used only in X86-32 backend. 2. Completely rewritten CC handling/lowering code inside X86 backend. Merged stdcall + c CCs and fastcall + fast CC. 3. Dropped CSRET CC. We cannot add struct return variant for each target-specific CC (e.g. stdcall + csretcc and so on). 4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in on first attribute has meaning 'This is hidden pointer to structure return. Handle it gently'. 5. Fixed small bug in llvm-extract + add new feature to FunctionExtraction pass, which relinks all internal-linkaged callees from deleted function to external linkage. This will allow further linking everything together. NOTEs: 1. Documentation will be updated soon. 2. llvm-upgrade should be improved to translate csret => sret. Before this, there will be some unexpected test fails. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33597 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
706535db86868d710ad10ddad4adc4bc8b838f10 |
|
22-Jan-2007 |
Evan Cheng <evan.cheng@apple.com> |
Linux GOT indirect reference is only necessary in PIC mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
5032e5a61381437174e035de2a7dd728978f7bd5 |
|
17-Jan-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
* Fix one more bug in PIC codegen: extra load is needed for *all* non-statics. * Introduce new option to output zero-initialized data to .bss section. This can reduce size of binaries. Enable it by default for ELF & Cygwin/Mingw targets. Probably, Darwin should be also added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7f70559bc47877bafc6dfa92b7df6b64650445fb |
|
12-Jan-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
* PIC codegen for X86/Linux has been implemented * PIC-aware internal structures in X86 Codegen have been refactored * Visibility (default/weak) has been added * Docs fixes (external weak linkage, visibility, formatting) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
317848f4a11f7fe55afdd6d90ded8444069b56fb |
|
03-Jan-2007 |
Anton Korobeynikov <asl@math.spbu.ru> |
Really big cleanup. - New target type "mingw" was introduced - Same things for both mingw & cygwin are marked as "cygming" (as in gcc) - .lcomm is supported here, so allow LLVM to use it - Correctly use underscored versions of setjmp & _longjmp for both mingw & cygwin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
2b2bc688849234b9ee5e0c8704a2984f0e9cbba3 |
|
22-Dec-2006 |
Anton Korobeynikov <asl@math.spbu.ru> |
Refactored JIT codegen for mingw32. Now we're using standart relocation type for distinguish JIT & non-JIT instead of "dirty" hacks :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
48c8e3de2ff1a6734a8207eb8422e0ee7ef79077 |
|
20-Dec-2006 |
Anton Korobeynikov <asl@math.spbu.ru> |
Fixed 80 cols & style violation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
15fccf1d9395ccf3f60404e71dc9db029d04f910 |
|
20-Dec-2006 |
Anton Korobeynikov <asl@math.spbu.ru> |
Fixed dllimported symbols support during JIT'ing. JIT on mingw32 platform should be more or less workable. At least, sim is running fine under lli :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f5da13367f88f06e3b585dc2263ab6e9ca6c4bf8 |
|
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
What should be the last unnecessary <iostream>s in the library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7784ebc239202bba4859855c3f438319144535f0 |
|
30-Nov-2006 |
Anton Korobeynikov <asl@math.spbu.ru> |
Factor out GVRequiresExtraLoad() from .h to .cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32048 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b4809b2b8f017fd6343aaf64f6417dd3396aecb9 |
|
29-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
16-byte stack alignment for X86-64 ELF. Patch by Dan Gohman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32004 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3b6f4978735ff529e59f77423fd9f8a21ca77a8d |
|
20-Nov-2006 |
Chris Lattner <sabre@nondot.org> |
Fix codegen for x86-64 on systems (like ppc or i386) that don't have 64-bit features autodetected. This fixes PR1010 and Regression/CodeGen/X86/xmm-r64.ll on non-x86-64 hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31879 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
aacf99964f6f37d566f9fda5160b3826f3ce2da4 |
|
08-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Use movl+xchgl instead of pushl+popl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
f896d1e24757fccbbd5173913a6f035c1a54fdeb |
|
17-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Proper fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
751c0e12dbabe90c98f1f050baea714e79c837d6 |
|
16-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Proper fix for rdar://problem/4770604 Thanks to Stuart Hastings! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30985 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
3cff9f8947fe4792f3266aa9b7f8de8f039bd34a |
|
06-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
80 col violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30770 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a26eb5e1a7e36521caff281da687764a0c43e428 |
|
06-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Still need to support -mcpu=<> or cross compilation will fail. Doh. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
abc346ceda2374971513535f21cea5fcb4b7cf46 |
|
06-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Do away with CPU feature list. Just use CPUID to detect MMX, SSE, SSE2, SSE3, and 64-bit support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
88c1578011e0beec5e81889ff27f6cbff523e771 |
|
06-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
It appears the inline asm in GetCpuIDAndInfo() may clobbers some registers if it isn't inlined (at < -O3). Force it to be inlined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
8e0055de8a5b397172f985550f7e3380b026d647 |
|
04-Oct-2006 |
Evan Cheng <evan.cheng@apple.com> |
Formating. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
25ab690a43cbbb591b76d49e3595b019c32f4b3f |
|
08-Sep-2006 |
Evan Cheng <evan.cheng@apple.com> |
Committing X86-64 support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30177 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
cdb341dcfa371b842d0299250e961e4206a5ff5a |
|
08-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Fix a cross-build issue. The asmsyntax shouldn't be affected by the build host, it should be affected by the target. Allow the command line option to override in either case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30164 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
05a059d5d8d039dbbec3607b313c38fba14f972e |
|
07-Sep-2006 |
Jim Laskey <jlaskey@mac.com> |
Make the x86 asm flavor part of the subtarget info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
54edc840005074e6119fa4ca3c2c020ec02a6627 |
|
16-Jun-2006 |
Evan Cheng <evan.cheng@apple.com> |
Later models likely to have Yonah like attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28843 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
932ad51feabc4119dda978c4f147dfe1b010a95d |
|
25-May-2006 |
Evan Cheng <evan.cheng@apple.com> |
X86 / Cygwin asm / alignment fixes. Patch contributed by Anton Korobeynikov! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28480 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
7ccced634ae0ecdc1c4f599fd3abf188c367e231 |
|
18-Feb-2006 |
Evan Cheng <evan.cheng@apple.com> |
x86 / Darwin PIC support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
18a8452f3d2cc0bbfea427b10e2c7dccc86f2188 |
|
16-Feb-2006 |
Evan Cheng <evan.cheng@apple.com> |
A bit more memset / memcpy optimization. Turns them into calls to memset / memcpy if 1) buffer(s) are not DWORD aligned, 2) size is not known to be greater or equal to some minimum value (currently 128). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26224 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
ddf7532442cf2d7b47dfd767edcfbc4298e173ea |
|
14-Feb-2006 |
Evan Cheng <evan.cheng@apple.com> |
Duh git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26180 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
968c1781726511e4f90ca78355a3c1b582c22692 |
|
14-Feb-2006 |
Evan Cheng <evan.cheng@apple.com> |
Remove -disable-x86-sse git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
82eaf628b4c9574f297bc1d8c44ae5237bc62a8c |
|
14-Feb-2006 |
Evan Cheng <evan.cheng@apple.com> |
Enable SSE (for the right subtargets) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c4013d677202d34750280c960ab54856f17ef465 |
|
28-Jan-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Flesh out AMD family/models. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
216d281d0a2b005585f449a512025e5062152f58 |
|
28-Jan-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Correctly determine CPU vendor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
a349640b7f39bba1ccce1b6d135c2a4239b2ccb7 |
|
28-Jan-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Use union instead of reinterpret_cast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
76177174960d03c6ac35acc27e9b45e206a6f633 |
|
28-Jan-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Fix recognition of Intel CPUs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25750 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
c2fad16155d7b3d8499c01c538bb90fb4d5252b5 |
|
28-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Is64Bit reflects the capability of the chip, not an aspect of the target os git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
41adb0d679416397b4c8153ad55f75453107bc8d |
|
28-Jan-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Improve X86 subtarget support for Windows and AMD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
1e39a15b42a55a8dea3d9485e7ea7ce77af5f4ef |
|
28-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
make this work on non-native hosts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
104988a16a710dee8c42998b414248ae81e63c1f |
|
27-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
initialize all instance vars git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
dbd38d7f64697b72364387e25dd062c5ce276466 |
|
27-Jan-2006 |
Evan Cheng <evan.cheng@apple.com> |
Added a temporary option -enable-x86-sse to enable sse support. It is used by llc-beta. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b3a7e21b7e441ed4d51e673b0890aed6b0524566 |
|
27-Jan-2006 |
Evan Cheng <evan.cheng@apple.com> |
A better workaround git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
9f96a3283159d4912ebeb7504e1c467b5e6392b9 |
|
27-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
force sse/3dnow off until they work. This fixes all the x86 failures last night git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
559806f575297866609c7bef0e5c1084dcdda9a5 |
|
27-Jan-2006 |
Evan Cheng <evan.cheng@apple.com> |
x86 CPU detection and proper subtarget support git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
97c7fc351e4dd73041bc7e47c8a144216a50a648 |
|
26-Jan-2006 |
Evan Cheng <evan.cheng@apple.com> |
Added preliminary x86 subtarget support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
d460f57d65ce7d1d0db6f0183d31eae1ecdb8788 |
|
21-Nov-2005 |
Chris Lattner <sabre@nondot.org> |
Simplify the subtarget info, allow the asmwriter to do some target sensing based on TargetType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
e5600e5509be43097e5f3b7e0f5d33305dc77630 |
|
21-Nov-2005 |
Chris Lattner <sabre@nondot.org> |
Make the X86 subtarget compute the basic target type: ELF, Cygwin, Darwin, or native Win32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b1e1180ca0b32f37aa74d7ad703eeaf91e66c8fa |
|
01-Sep-2005 |
Jim Laskey <jlaskey@mac.com> |
1. Use SubtargetFeatures in llc/lli. 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
8c00f8cdc7ae0cdd18d91b3a31a70da0f78aa04f |
|
04-Aug-2005 |
Nate Begeman <natebegeman@mac.com> |
Add Subtarget support to PowerPC. Next up, using it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
00b16889ab461b7ecef1c91ade101186b7f1fce2 |
|
27-Jul-2005 |
Jeff Cohen <jeffc@jolt-lang.org> |
Eliminate all remaining tabs and trailing spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
0e219eb9b8a2f6cb1128066584b06c6bd1b51238 |
|
12-Jul-2005 |
Nate Begeman <natebegeman@mac.com> |
Clean up the TargetSubtarget class a bit, removing an unnecessary argument to the constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22392 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
b151acadc85011961e24d98fa6ce626ea45cd074 |
|
12-Jul-2005 |
Chris Lattner <sabre@nondot.org> |
Minor changes to improve comments and fix the build on _WIN32 systems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|
fb5792f416089d8d8d0c6ee62c1f41a55d2cf75d |
|
12-Jul-2005 |
Nate Begeman <natebegeman@mac.com> |
Implement Subtarget support Implement the X86 Subtarget. This consolidates the checks for target triple, and setting options based on target triple into one place. This allows us to convert the asm printer and isel over from being littered with "forDarwin", "forCygwin", etc. into just having the appropriate flags for each subtarget feature controlling the code for that feature. This patch also implements indirect external and weak references in the X86 pattern isel, for darwin. Next up is to convert over the asm printers to use this new interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86Subtarget.cpp
|